gpt4 book ai didi

c++ - 如何使用 gdb 在基类的构造函数处中断?

转载 作者:太空狗 更新时间:2023-10-29 20:42:39 27 4
gpt4 key购买 nike

我的主要 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;
}

UnifiedQuery分别在unified.hunified.cpp中声明和定义。当我在 gdb 中调试这个程序时:

gdb: b 56
gdb: r
gdb: s

程序跳转到第12行,如果ctor是unifiedQuery,如何去unified.cpp跳转到基类UnifiedQueryCtorunified.cpp 中定义:例如第 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.

对于答案b file:line,gdb 忽略它并不停地执行程序。顺便说一句:实际上 ctor 的定义在一个名为 unified.h 的文件中,隐式声明为内联函数,因为它在头文件中。

最佳答案

你也可以

break UnifiedDirListQuery::UnifiedDirListQuery

另请注意,gdb 具有制表符补全功能,因此您不必键入所有内容。

关于c++ - 如何使用 gdb 在基类的构造函数处中断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17941463/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com