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