我有一個C++應用程序上創建對象設置斷點,具有以下的main.cpp:GDB沒有打破在C++
1: #include <stdio.h>
2: #include "HeatMap.h"
3: #include <iostream>
4:
5: int main (int argc, char * const argv[])
6: {
7: HeatMap heatMap();
8: printf("message");
9: return 0;
10: }
編譯沒有錯誤,我用gdb(GNU GDB 6.3.50-20050815(Apple版本gdb-1346)(Fri Sep 18 18:40:51 UTC 2009)),並用gcc(gcc版本4.2.1(Apple Inc. build 5646)(dot 1 ))使用命令「-c -g」。
當我添加斷點行7,8,9,和運行gdb的,我得到以下...
(gdb) break main.cpp:7
Breakpoint 1 at 0x10000177f: file src/main.cpp, line 8.
(gdb) break main.cpp:8
Note: breakpoint 1 also set at pc 0x10000177f.
Breakpoint 2 at 0x10000177f: file src/main.cpp, line 8.
(gdb) break main.cpp:9
Breakpoint 3 at 0x100001790: file src/main.cpp, line 9.
(gdb) run
Starting program: /DevProjects/DataManager/build/DataManager
Reading symbols for shared libraries ++. done
Breakpoint 1, main (argc=1, argv=0x7fff5fbff960) at src/main.cpp:8
8 printf("message");
(gdb)
那麼,爲什麼,沒有人知道,爲什麼我的應用程序不爲什麼打破對象創建的斷點,但在printf行斷開?
德魯J.索內。
編輯:答案 - GDB skips over my code!
今天早些時候,我們有一個關於這個話題的問題:http://stackoverflow.com/questions/2579020/gdb-skips-over-my-code/2579044#2579044(確切的複製)。 – 2010-04-06 00:50:35
我確實搜索gdb,斷點等,但找不到它,但是由於這提供了更多信息。 – Drew 2010-04-06 00:55:08
沒關係,搜索可能不可靠。你的問題引入了更多的關鍵詞,幫助未來的搜索者。 – GManNickG 2010-04-06 01:14:46