1
私は私のGDB(GNU gdbの(Ubuntuの7.11.1-0ubuntu1〜16.04)7.11.1)をテストする場合は、この単純なコードを行く、私のLinuxがドッキングウィンドウ内で実行され、コードは次のとおりです。私はそれをGDBがブレークポイントで停止しなかったのはなぜですか?
// hello.cc
#include <iostream>
int main() {
std::cout << "hello world!" << std::endl;
}
コンパイル:
$ g++ -g -o out.a hello.cc
とデバッグそれが好き:
(gdb) file out.a
(gdb) b main
Note: breakpoint 1 also set at pc 0x40084a.
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep y 0x000000000040084a in main() at hello.cc:3
(gdb) r
hello world!
During startup program exited normally.
GDBがmain
に停止していないのはなぜ?
おそらくあなたの主な問題ではありませんが、 'out.a'は実行ファイルのための本当に悪い命名の選択肢です。 –
この質問はhttp://stackoverflow.com/q/34856092/72178とよく似ています。 'docker run --privileged'を試してみてください。 – ks1322
@PaulR:有名な 'a.out'のほんのジョークですが、GDBは静的ライブラリのように扱わないでしょう:) – coanor