2016-12-31 5 views
2

私はPythonスクリプトからrbreakを実装したいと思います。GDBでC/C++プログラムのすべての関数をループする方法rbreakを実装するPythonスクリプト?

これを行う最も簡単な方法は、すべての関数をループして、その名前をPythonの正規表現と比較することです。

また、明示的なループなしでより良い方法がある場合は、私も興味があります。

このソリューションでは、https://sourceware.org/gdb/onlinedocs/gdb/Symbol-Tables-In-Python.htmlのようなAPIを使用することを期待していますが、例がなくてもそれを行うのは難しいです。

答えて

3

ドキュメントを確実に改善することができます。 Thisは手掛かりを提供します。

The outermost block is known as the global block. 
The global block typically holds public global variables and functions. 

A gdb.Block is iterable. 

だから我々がする必要があるすべては、グローバルブロックのホールドを取得し、それを反復です。

​​

ほら:

次のテストを使用します。

関連する問題