由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 关于gdb调试c++ template的问题, 设置行号断点有offset
相关主题
问题: C++ static_cast between int and float新手请问用mmap() copy file
gbd调试时的一个简单问题 (转载)急问:这个为什么不行?
软断点和硬断点有什么区别啊? (转载)VC++ 6.0 弱问,多谢解答
求教linux下debug的问题包含指针的类和vector的问题
哪种c++IDE能做类似于Matlab那样调试?[合集] 【求助】如何将c string中的string转换成int?谢谢
Java调试除了jdb还有啥更好用的?[合集] 基类函数已经是virtual了,为啥子类还要virtual啊?
go程序的调试请问strcpy()和memcpy()的写法问题  (转载)
简单题目如何 initialize array member?
相关话题的讨论汇总
话题: memcpy话题: intel话题: undefined话题: fast话题: text
进入Programming版参与讨论
1 (共1页)
s********e
发帖数: 158
1
我在用gdb调试c++ template的时候没法设置确切的断点,比如我break foo.h:10 实际
设置到了foo.h:14,怎么操作都没法设置到第10行,但是单步调试next下一行都没有问
题,直接break到template函数的入口也没有问题,也可以next到我要设置断点的目标
行,可是就是不能直接设置到那一行,不知道具体是什么原因。这个问题严重的降低了
我的debug效率,google它也没有什么结果。我实际使用的是idb在gdb模式下。非常感
谢各位指教,谢谢。
p***o
发帖数: 1252
2
第10行上有啥? 第14行上是啥?

【在 s********e 的大作中提到】
: 我在用gdb调试c++ template的时候没法设置确切的断点,比如我break foo.h:10 实际
: 设置到了foo.h:14,怎么操作都没法设置到第10行,但是单步调试next下一行都没有问
: 题,直接break到template函数的入口也没有问题,也可以next到我要设置断点的目标
: 行,可是就是不能直接设置到那一行,不知道具体是什么原因。这个问题严重的降低了
: 我的debug效率,google它也没有什么结果。我实际使用的是idb在gdb模式下。非常感
: 谢各位指教,谢谢。

s********e
发帖数: 158
3
没什么特别的东西,都是变量定义
double *xfn = foo->x;
....
double * = foo->y;
p***o
发帖数: 1252
4
有可能是优化掉了,你用的什么编译选项?

【在 s********e 的大作中提到】
: 没什么特别的东西,都是变量定义
: double *xfn = foo->x;
: ....
: double * = foo->y;

s********e
发帖数: 158
5
我用的是icpc 11.1,调试是用idb在gdb模式下,我应该加-O0吗
icpc -w -I. -ansi -m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -DDEBUG
-Wall -Wformat -Woverloaded-virtual -DUSE_IML -D_LINUX_ -DSYSV -DSTL -
DCGNS -DDTF -c foo.cpp -o foo.obj
p***o
发帖数: 1252
6
你先用g++试试看有没有同样的问题。

DDEBUG
-


【在 s********e 的大作中提到】
: 我用的是icpc 11.1,调试是用idb在gdb模式下,我应该加-O0吗
: icpc -w -I. -ansi -m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -DDEBUG
: -Wall -Wformat -Woverloaded-virtual -DUSE_IML -D_LINUX_ -DSYSV -DSTL -
: DCGNS -DDTF -c foo.cpp -o foo.obj
:

s********e
发帖数: 158
7
哦,不好意思,我也想到比较一下g++,可以代码里面有第三方库貌似用了intel的编译
器编译的,我用g++就报链接错误, 找不到_intel_fast_memcpy
dtflib-7.8/libDTF.a(dtf.o): In function `dtf_read_zi_zone_ss':


dtf.c:(.text+0x2b35): undefined reference to `_intel_fast_memcpy'


dtf.c:(.text+0x2b59): undefined reference to `_intel_fast_memcpy'


dtf.c:(.text+0x2b7d): undefined reference to `_intel_fast_memcpy'


dtf.c:(.text+0x2ba1): undefined reference to `_intel_fast_memcpy'


dtflib-7.8/libDTF.a(dtf.o): In function `dtf_read_zi_ss':


dtf.c:(.text+0x363e): undefined reference to `_intel_fast_memcpy'


dtflib-7.8/libDTF.a(dtf.o):dtf.c:(.text+0x3664): more undefined references
to `_intel_fast_memcpy' follow
s********e
发帖数: 158
8
测试了一下用g++就好了,用了intel的libirc.a解决了_intel_fast_memcpy的问题,
然后用g++编译的程序用gdb就好了,貌似是intel的问题,大家都用intel的编译器和
idb吗,如果对template支持这么差,怎么用?还有idb不能tab补全,
1 (共1页)
进入Programming版参与讨论
相关主题
如何 initialize array member?哪种c++IDE能做类似于Matlab那样调试?
问题请教Java调试除了jdb还有啥更好用的?
C里面的数组拷贝go程序的调试
c++读写多个大文件的问题简单题目
问题: C++ static_cast between int and float新手请问用mmap() copy file
gbd调试时的一个简单问题 (转载)急问:这个为什么不行?
软断点和硬断点有什么区别啊? (转载)VC++ 6.0 弱问,多谢解答
求教linux下debug的问题包含指针的类和vector的问题
相关话题的讨论汇总
话题: memcpy话题: intel话题: undefined话题: fast话题: text