现在有一个多线程程序,运行时可能会有几个线程停止执行,表面看来似乎是在无限等待某条件变量的通知。但是通过程序打印显示已经有线程给他们发送条件变量通知了,也没有哪个线程还锁定着互斥量。 我用gdb attach这个进程去看,查看了某些全局变量后,再detach,然后就可以发现这几个线程开始运行了。 实在不知道为什么会这样。gdb的attach和detach操作应该不会对进程有什么特殊影响吧? 请问有谁知道gdb attach和detach进程时的...
即实现这样的功能,在不影响已有进程运行和不修改已有进程代码的情况下 可以attach到该进程,并且执行该进程中的函数或者获取到某个变量的值,类似gdb attach的功能; 记得以前做基站时,平台提供了类似这样的功能,可以在管理进程中执行被管理进程中的桩函数构造一些数据,现在自己想实现一个这样的功能,不知哪位前辈给个思路,看了ptrace的一些介绍,不知是否可以实现这样的功能?
系统有个进程zombie了,kill也没用,gdb attach也没用,我想看看它最后调用的堆栈或者函数,有办法吗?/proc/
在aix下用gdb调试程序,用attach时,可以跟踪到程序,但是却无法设断点,被告知找不到symble,需要运行file命令,但是如果运行file命令,又会kill掉当前进程(A program is being debugged already. Kill it? (y or n) ),并重新启动进程。 这样就达不到attach的目的,请问我该怎么处理呢? (编译时已经加入了-g选项,这一点不要怀疑)。 [ 本帖最后由 mingjwan 于 2006-10-11 09:09 编辑 ]
自己随便写了一程序,运行时让它阻塞,ps找到pid,然后 gdb attatch pid 提示我: (gdb) attach 2944 attaching to process 2944 /usr/src/gnu/usr.bin/gdb/libgdb/../../../../contrib/gdb/gdb/solib-svr4.c:1443: internal-error: legacy_fetch_link_map_offsets called without legacy link_map support enabled. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging s...
将一个数据库移动到另外一个服务器(没有客户的情况下)上, 可以通过好多方式,比较方便的有2种(我觉得比较方便一些的): 1.做一个完全备份,将bak文件拷贝到目标服务器上, 用restore恢复 2. stop sql server, 把mdf, ldf文件拷到目标服务器, 用sp_attach_db来建立数据库 各有什么优势和缺陷??? 对数据库用户数据的影响如何?
使用strace attach到一个正在运行的pid上,准备查找问题,但是自从attach 之后,这个进程就阻塞不运行了,有没有人知道什么原因? 使用的命令是strace -f -o tmp.trace -p23432