GDB调试C++程序时如何使程序在运算符重载函数处停止
我写了一个string 类,>运算符被重载,用GDB调试时想跟踪进入>函数,但使用S命令也无法跟进去。编译时用了-g参数。我怀疑是因为gdb找不到库文件的源代码,但不知道gdb中如何指定库文件的源代码。
#include "string.h"
#include <iostream>
using namespace std;
int main()
{
if ( "hello" > "he" )
cout << "yes" <<endl;
else
cout << "no" << endl;
return 0;
}
问题点数:30、回复次数:3Top
1 楼yjf7888(seeking a place 找工作了location:Chengdu)回复于 2005-08-02 22:57:55 得分 15
if ( "hello" > "he" ) 不会调用你string类重载的>符号吧?
用强制转换试试Top
2 楼jet8(jet8)回复于 2005-08-02 23:29:46 得分 0
我定义的是全局运算符函数,这样就可以保证左、右运算符都可以发生自动类型转换。我刚才又做了一个实验,发现如果将运算符函数定义成类的成员函数,就可以跟踪进去。不知道全局运算符函数和成员运算符函数有何不同。继续研究...Top
3 楼sharkhuang(走吧走吧!人总会慢慢长大~)回复于 2005-08-03 11:31:45 得分 15
直接打文件行数断点啊Top




