为类成员函数设置断点不成功

时间:2011-07-31 21:20:31

标签: c++ gdb

我有一个类看起来像这样:

namespace madoka
{
class polarizable_sites
{
public:
void resize(const size_t dim_);
void clear(void);
};
}

在gdb中,我可以通过

设置断点
b 'madoka::polarizable_sites::clear()'

但是,对于成员函数调整大小,

b 'madoka::polarizable_sites::resize(const size_t)'

不起作用。 GDB报告错误:

  

类madoka :: polarizable_sites没有任何命名的方法   resize(const size_t)提示:试试   'madoka :: polarizable_sites :: resize(const size_t)'或   'madoka :: polarizable_sites :: resize(const size_t)'(注意引导   单引号。)

我想知道为什么功能样式由TAB自动完成。

BTW:我正在使用GDB

  

GNU gdb(Ubuntu / Linaro 7.2-1ubuntu11)7.2版权所有(C)2010免费   Software Foundation,Inc。

使用编译器'

  

g ++(Ubuntu / Linaro 4.5.2-8ubuntu4)4.5.2   版权所有(C)2010 Free Software Foundation,Inc。

2 个答案:

答案 0 :(得分:3)

该功能可能是内联的。尝试在GDB语法中添加__asm int 3 x86代码并遍历代码。调试MSVC x86代码时,这个技巧为我节省了很多时间。

答案 1 :(得分:0)

我猜测编译器已经剥离了const说明符,

尝试b'madoka :: polarizable_sites :: resize(size_t)'