草庐IT

java - 为什么 java 应用程序在 gdb 中崩溃但在现实生活中运行正常?

尝试从gdb运行java应用程序会导致段错误,但单独运行应用程序不会。此应用程序是一个使用JOGL的.JAR以及一些与GPU对话的内存映射。下面的Stacktrace暗示了某种内存访问问题,但我不明白为什么它会出现在GDB而不是现实生活中。gdb是否需要知道一些环境因素才能正确执行?这个问题在JVMOpenJDK6和7以及OracleJRE7之间仍然存在。oracleJRE在段错误之前运行得更远一些。所有段错误在试验之间的发生和位置上都是一致的。段错误在GPU和驱动程序(!!)之间持续存在:nvidia、radeon、fglrxcurrent和fglrxbeta(14.xx)。GDB将

python - gdb.execute 阻塞 python 脚本中的所有线程

我正在使用Python2.7编写GDB脚本。我只是使用gdb.execute("stepi")执行单步执行指令。如果被调试程序处于空闲状态并等待用户交互,gdb.execute("stepi")不会返回。如果有这种情况,我想在不终止gdb的情况下停止调试session。为此,我创建了一个线程,如果当前指令运行超过x秒,该线程将终止调试进程:fromctypesimportc_ulonglong,c_boolfromosimportkillfromthreadingimportThreadfromtimeimportsleepimportsignal#Weneedmutableprimi

python - gdb:中断由python加载的共享库

我正在尝试调试位于共享库中的c/c++代码,这些代码由python中的ctypes.cdll.LoadLibrary()加载,然后从python调用特定函数。python代码fork子进程,因此我需要能够判断c函数是从python父进程还是子进程调用的。一个非常简单的例子:test.c//j=clib.call1(i)intcall1(inti){returni*2;}测试.pyimportos,sys,ctypespath=os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]),"test.so"))clib=ctypes.

python - GDB pretty-print ImportError : No module named 'printers'

我正在尝试添加prettyprinting对于Ubuntu14.04上我的GDB中的STL。有关工具的一些详细信息:操作系统:Ubuntu14.04gdb版本:7.7python版本:2.7.6python3版本:3.4.0但是在我完全按照说明进行设置之后。我仍然收到以下错误:Traceback(mostrecentcalllast):File"",line3,inFile"/home/jerry/myLib/gdb_stl_support/python/libstdcxx/v6/__init__.py",line19,infromprintersimportregister_libs

c++ - 用于 Qt5 的 GDB pretty-print

我在哪里可以找到适用于qt5的gdbpretty-print?我只能在kde开发者网站上找到qt4。也许有人知道是否存在用于新版Qt的pretty-print以及我在哪里可以找到它们。我知道可以使用最新版本的QtCreator,但我只需要用于GDB的普通python脚本。 最佳答案 https://techbase.kde.org/Development/Tutorials/Debugging/Debugging_with_GDB上列出的pretty-print仅与Qt5部分兼容。某些类型(例如QByteArray)未正确处理。Al

python 为 windows 启用 gdb

我在Windows7机器上使用gdb7.4当我尝试执行python脚本时,我得到“此版本的GDB不支持Python脚本”我以为7.4就支持了?我在哪里可以获得为Windows启用python的gdb版本? 最佳答案 你需要一个启用python构建的GDB(GDB.exe需要链接到python库,例如python27.dllforpython2.7.x)MinGW提供启用python的GDB,MinGW-W64站点还提供支持python的GDB,还有myunofficialbuildGDB.

交叉编译 GDB 时出现 Python 丢失或不可用错误

我在尝试交叉编译GDB时遇到此错误(使用--with-python标志):checkingforpython:/usr/bin/pythoncheckingforpython2.7:noconfigure:error:pythonismissingorunusable我确保在/usr/bin中安装了python2.7。我什至删除了软件包并重新安装了它。我尝试使用--with-python=/usr/bin和--with-python=/usr/local,但没有成功。虽然安装了2.7,但我肯定知道。知道该怎么做吗? 最佳答案 我在D

python - gdb 与 Qt pretty-print

我的目标是允许在gdb中漂亮地打印Qt类。即如果我有:QStringstr("str");在我的代码中执行(gdb)printqwe我想打印str内容(不是真正的QString结构)。gdb本身支持使用python定义pretty-print,而且QtCreator似乎部分使用了此功能。理想的解决方案是使用Qt附带的pretty-print(可以在QT_INSTALLATION\share\qtcreator\gdbmacros中找到)或者甚至整个调试器(可以在QT_INSTALLATION\pythondb中找到)。无论如何,巨魔构建了一个新的api来通过标准gdbapi定义pret

python - 无法为 gdb 启用 py-bt

我已经在CentOS6.5机器上下载并编译了Python3.5。它工作没有问题。问题是我必须使用gdb来调试在我的python程序执行期间涉及cpu过度使用的细微错误。来自关于gdbextension的官方Python文档,他们说唯一要做的就是添加add-auto-load-safe-path/path/to/dir/with/python-gdb.py到~/.gdbinit。我测试了它gdb--args/path/to/python3.5/binary(gdb)py-bt但是我明白了Undefinedcommand:"py-bt"gdb是7.2版并且启用了python支持。

python - 如何在 virtualenv 中使用 gdb python 调试扩展

我正在运行ubuntu,并安装了python-dbg包。当尝试直接使用安装的版本时一切正常:$gdbpython2.7-dbgGNUgdb(Ubuntu/Linaro7.4-2012.04-0ubuntu2.1)7.4-2012.04---xsnippedx---Readingsymbolsfrom/usr/bin/python2.7-dbg...done.(gdb)rStartingprogram:/usr/bin/python2.7-dbg[Threaddebuggingusinglibthread_dbenabled]Usinghostlibthread_dblibrary"/l