我试图在网上搜索这个问题,但似乎我找不到解决我的问题的好方法。那么,我试图用gdb来调试我的C++程序。该程序由一个简单的main.cpp和一个model.h组成。而编译命令是如何在C++头文件上使用gdb?
g++ -Wall -g -c main.cpp
g++ -Wall -g main.o -o OUTPUT
由于几乎所有的算法被存储在model.h,我需要调试头文件,而不是cpp文件。但是,每当我试图把一个破发点上的头状
tbreak model.h:163
GDB总是给我一个消息,“没有源文件名为TNFmodel.h”。
在另一个问题breakpoints in GDB,我看到了一个解决方案,通过“dir”将包含头的文件夹添加到库中。但是我的头文件已经在源文件夹中,并且在尝试之后
dir ./
问题仍然存在。
那么有人知道什么是错的?如何使用gdb调试头文件?
是编译时还包含在该位置的头文件吗?也许你可以在输入'info sources'时发布输出gdb。 – Nobody 2013-03-04 18:51:04
哎哟...我查了一下资料,现在看到了这个问题......一封信的情况并不符合。那么,我不知道我是如何通过编译的......但也许这是因为我使用的是mac,有时编译时并不敏感。纠正这种情况后,gdb可以正常工作。谢谢。 – Chong 2013-03-05 00:25:12