2017-02-14 24 views
1

Pythonでgdbプラグインを開発しようとしているときに、変数の型を直接取得しようとしたときに次のエラーが発生しました。メモリでない場合は、どのようにgdbの変数の型を直接出力できますか?

(gdb) p appendLock->owner                             
$2 = (Arachne::ThreadContext *) 0x7ff620001a40 
(gdb) whatis appendLock->owner                           
Attempt to take address of value not located in memory. 
(gdb) ptype appendLock->owner                            
Attempt to take address of value not located in memory. 

この問題の回避策はありますか?そのため、変数の型を直接取得できますか?

答えて

1

この問題を回避するPython APIを使用して直接行う方法があるようです。

(gdb) python print gdb.parse_and_eval("appendLock->owner").type 
Arachne::ThreadContext * 
関連する問題