zou*_*yjs 3 c++ gdb breakpoints
我的主要cpp文件是:
class UnifiedDirListQuery : public UnifiedQuery{
public:
UnifiedDirListQuery(){
//do something-------------line 12
}
}
//other code
int main( void ){
UnifiedQuery *query = new UnifiedDirListQuery();//-----line 56
//do something
delete query;
}
Run Code Online (Sandbox Code Playgroud)
并且分别UnifiedQuery在unified.h和中声明和定义unified.cpp.当我在gdb中调试这个程序时:
gdb: b 56
gdb: r
gdb: s
Run Code Online (Sandbox Code Playgroud)
程序跳转到第12行.如果例如定义了ctor,如何转到unified.cpp并跳转到Ctor基类.UnifiedQueryunified.cpp : line 25
更新
对于答案break UnifiedDirListQuery::UnifiedDirListQuery,gdb抱怨说:
(gdb) b UnifiedDirListQuery::UnifiedDirListQuery
[0] cancel
[1] all
?HERE
?HERE
> 1
Note: breakpoint -1 (disabled) also set at pc 0x0.
Breakpoint 1 at 0x0
Note: breakpoints -1 (disabled) and 1 also set at pc 0x0.
Breakpoint 2 at 0x0
warning: Multiple breakpoints were set.
Use the "delete" command to delete unwanted breakpoints.
(gdb) r
Starting program: /...(the path)/src/base/unified_album_list.cgi
Warning:
Cannot insert breakpoint 1.
Error accessing memory address 0x0: Input/output error.
Run Code Online (Sandbox Code Playgroud)
对于答案b file:line,gdb只是忽略它并不停地执行程序.顺便说一句:实际上ctor的定义是在一个名为unified.himplicity 的文件中,因为它位于头文件中而被声明为内联函数.
你也可以
break UnifiedDirListQuery::UnifiedDirListQuery
Run Code Online (Sandbox Code Playgroud)
另请注意,gdb具有制表符完成功能,因此您无需键入所有内容.
| 归档时间: |
|
| 查看次数: |
5178 次 |
| 最近记录: |