2017-10-26 9 views
-1

gbdまたはlldbを組み込んだC++バイナリを静的にコンパイルする方法があるので、コード内からデバッガを起動できますか?C++プログラム内にGDBまたはLLDBを埋め込み、コードからデバッガを起動

基本的に、私はデバッガからコードを実行することなく、コードからデバッガを起動することができます。

最も有益なのは、Pythonコードにimport ipdb; ipdb.set_traceを貼り付けて、そのコード行でデバッガを起動する方法です。

答えて

2

あなたが動作するように、このためにGDBやLLDBでコンパイルする必要はありません。あなた自身で外部バイナリを呼び出すことができます。

if (some_condition_that_requires_debugging) { 
    char cmd[100]; 
    sprintf(cmd, "/usr/bin/gdb -p %d", getpid()); 
    // invoke debugger on itself 
    system(cmd); 
} 
関連する問題