由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 求助调试c++程序
相关主题
有人发现最近valgrind有问题么?大家来看看这个纯Javascript实现的QR二维码生成器
请教这个程序里用到了什么constructor啊?有几个copy constructor?求教, python 对于很奇怪的字符的encoding 怎么处理?
how to debug a hidden error用react的试过中文么?
What's the problem with 'ascii' codec? (转载)encode high cardinality categorical features
怎么隐藏c++template代码?只提供lib 不提供头文件[菜鸟问题]类模板问题
use abort() to generate coredump (转载)请问const myClass &src 和myClass const &src有什么区别?
perl eval and if请问在class member function中如何调用overloaded function ca
怎么把 integer 转为 multi-byte integer format?问个INTERVIEW QUESTION
相关话题的讨论汇总
话题: gdb话题: usleep话题: file话题: otry话题: 153
进入Programming版参与讨论
1 (共1页)
C********e
发帖数: 219
1
接手了一个c++的程序,以前的程序员不愿意指导,自己也比较愚钝。请大侠们指点
不明白为什么usleep(1000)发生overflow?是因为其他线程有overflow的情况吗?如何
查看其他线程里面的变量值呢?
Program terminated with signal 6, Aborted.
#0 0x0000003cfd89a1e1 in nanosleep () from /lib64/libc.so.6
(gdb) bt
#0 0x0000003cfd89a1e1 in nanosleep () from /lib64/libc.so.6
#1 0x0000003cfd8ce8f4 in usleep () from /lib64/libc.so.6
#2 0x0000000000498e17 in MyClass::StartUp (this=0x2b4484725010, aName=
Traceback (most recent call last):
File "/usr/share/gdb/python/libstdcxx/v6/printers.py", line 469, in to_
string
return self.val['_M_dataplus']['_M_p'].string (encoding, length = len)
OverflowError: signed integer is greater than maximum
) at src/MyClass.cpp:153
#3 0x00000000004a8382 in main (argc=2, argv=0x7fffcc8cdb88) at src/classfile
.cpp:173
(gdb) frame 2
#2 0x0000000000498e17 in MyClass::StartUp (this=0x2b4484725010, aName=
Traceback (most recent call last):
File "/usr/share/gdb/python/libstdcxx/v6/printers.py", line 469, in to_
string
return self.val['_M_dataplus']['_M_p'].string (encoding, length = len)
OverflowError: signed integer is greater than maximum
) at src/MyClass.cpp:153
warning: Source file is more recent than executable.
153 usleep(1000);
(gdb) l
148
149 while ( GetThreadListSize() > 2 )
150 {
151 int oTry = 0;
152 while (oTry++ < 50)
153 usleep(1000);
154 }
155 m_Thread_List.RemoveAll();
156
157 return (0);
(gdb) print oTry
$1 = 44
(gdb)
m*******l
发帖数: 12782
2
signed integer is larger than maximum?

【在 C********e 的大作中提到】
: 接手了一个c++的程序,以前的程序员不愿意指导,自己也比较愚钝。请大侠们指点
: 不明白为什么usleep(1000)发生overflow?是因为其他线程有overflow的情况吗?如何
: 查看其他线程里面的变量值呢?
: Program terminated with signal 6, Aborted.
: #0 0x0000003cfd89a1e1 in nanosleep () from /lib64/libc.so.6
: (gdb) bt
: #0 0x0000003cfd89a1e1 in nanosleep () from /lib64/libc.so.6
: #1 0x0000003cfd8ce8f4 in usleep () from /lib64/libc.so.6
: #2 0x0000000000498e17 in MyClass::StartUp (this=0x2b4484725010, aName=
: Traceback (most recent call last):

C********e
发帖数: 219
3
这就是不解之处啊。
那个1000怎么也不会大于usleep允许的最大值吧?而且这个程序也不是一直出问题。现
在一共80个实例在运行,只有两个最近开始出问题的。其中一个是live site的,另一
个是DR site的。

【在 m*******l 的大作中提到】
: signed integer is larger than maximum?
m*******l
发帖数: 12782
4
usleep should be able to take a value less than 1M.

【在 C********e 的大作中提到】
: 这就是不解之处啊。
: 那个1000怎么也不会大于usleep允许的最大值吧?而且这个程序也不是一直出问题。现
: 在一共80个实例在运行,只有两个最近开始出问题的。其中一个是live site的,另一
: 个是DR site的。

l*********s
发帖数: 5409
5
warning: Source file is more recent than executable.
t****t
发帖数: 6806
6
first run with valgrind.
then run with helgrind.

【在 C********e 的大作中提到】
: 这就是不解之处啊。
: 那个1000怎么也不会大于usleep允许的最大值吧?而且这个程序也不是一直出问题。现
: 在一共80个实例在运行,只有两个最近开始出问题的。其中一个是live site的,另一
: 个是DR site的。

m*******l
发帖数: 12782
7
en. 这个而是一个提示

【在 l*********s 的大作中提到】
: warning: Source file is more recent than executable.
C********e
发帖数: 219
8
valgrind显示了很多大概不相关的oracle occi里面的uninitialized vairable,
condition jump based on uninitialized variable什么的,都是oracle-
instantclient shared library里面的
我试试helgrind。
谢谢建议

【在 t****t 的大作中提到】
: first run with valgrind.
: then run with helgrind.

C********e
发帖数: 219
9
这个应该不是什么大问题,core dump从产品服务器拷出来的。source file是后来从
svn的tag checkout的。

【在 l*********s 的大作中提到】
: warning: Source file is more recent than executable.
f****4
发帖数: 1359
10
你先确认用得是正确的source file,正确的binary file
再gdb
看看是不是缺少debug info,记得再做一个
(gdb)info threads
(gdb)thread apply all bt

【在 C********e 的大作中提到】
: 这个应该不是什么大问题,core dump从产品服务器拷出来的。source file是后来从
: svn的tag checkout的。

C********e
发帖数: 219
11
谢谢,是正确的source file,正确的binary file
我试试info threads

【在 f****4 的大作中提到】
: 你先确认用得是正确的source file,正确的binary file
: 再gdb
: 看看是不是缺少debug info,记得再做一个
: (gdb)info threads
: (gdb)thread apply all bt

f****4
发帖数: 1359
12
--undef-value-errors=no // 不检查undef values
--show-reachable=no // 这样启动会快点

【在 C********e 的大作中提到】
: valgrind显示了很多大概不相关的oracle occi里面的uninitialized vairable,
: condition jump based on uninitialized variable什么的,都是oracle-
: instantclient shared library里面的
: 我试试helgrind。
: 谢谢建议

k****5
发帖数: 546
13
backtrace 的输出是啥

【在 C********e 的大作中提到】
: 接手了一个c++的程序,以前的程序员不愿意指导,自己也比较愚钝。请大侠们指点
: 不明白为什么usleep(1000)发生overflow?是因为其他线程有overflow的情况吗?如何
: 查看其他线程里面的变量值呢?
: Program terminated with signal 6, Aborted.
: #0 0x0000003cfd89a1e1 in nanosleep () from /lib64/libc.so.6
: (gdb) bt
: #0 0x0000003cfd89a1e1 in nanosleep () from /lib64/libc.so.6
: #1 0x0000003cfd8ce8f4 in usleep () from /lib64/libc.so.6
: #2 0x0000000000498e17 in MyClass::StartUp (this=0x2b4484725010, aName=
: Traceback (most recent call last):

1 (共1页)
进入Programming版参与讨论
相关主题
问个INTERVIEW QUESTION怎么隐藏c++template代码?只提供lib 不提供头文件
another c++ interview questionuse abort() to generate coredump (转载)
一个partial specialization的问题perl eval and if
C++:如何计算一个类实例化了多少次?怎么把 integer 转为 multi-byte integer format?
有人发现最近valgrind有问题么?大家来看看这个纯Javascript实现的QR二维码生成器
请教这个程序里用到了什么constructor啊?有几个copy constructor?求教, python 对于很奇怪的字符的encoding 怎么处理?
how to debug a hidden error用react的试过中文么?
What's the problem with 'ascii' codec? (转载)encode high cardinality categorical features
相关话题的讨论汇总
话题: gdb话题: usleep话题: file话题: otry话题: 153