我正在尝试从源代码构建最新的GDB10.1。 我想这样做的原因是,我正在尝试调试一个链接到Python2.7.18的自定义构建的程序,而我的系统gdb链接到/lib64目录中的Python2.7.5的构建,并且不能与较新的版本一起工作。 在阅读了自述文件之后,我使用以下命令进行了配置: ../gdb-10.1/configure --with-python=<path to my 2.7.18 installation> --prefix=<path to where I want the new gdb to go> 然后运行...and make all inst
我正在尝试调试同一个应用程序的两个实例。因此,我设置如下:
(gdb) set target-async on
(gdb) set non-stop on
(gdb) attach pid1
(gdb) set scheduler-locking off
(gdb) add-inferior
(gdb) inferior 2
(gdb) attach pid2
(gdb) set scheduler-locking off
(gdb) b hello-world.cpp:8
Breakpoint 1 at 0x557a557761fd: ../hello-world.cpp:8. (2 loc
我想使用python为gdb创建一些交互式脚本。它在gdb中工作得很好,但是如果我从emacs调用gdb,它就不能工作。
例如,python脚本(test.py)如下所示。它只是简单地打印它得到的内容。
def testInput():
n = raw_input('(gdb) ')
print n
它可以在gdb中运行:
% gdb
GNU gdb (GDB) 7.2.50.20110217
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 o
我在docker中使用了下面的代码,但这不起作用
RUN mkdir gdb-build ;\
cd gdb-build;\
wget http://ftp.gnu.org/gnu/gdb/gdb-7.11.tar.xz;\
tar -xvf gdb-7.11.tar.xz;\
cd gdb-7.11;\
./configure --prefix=/usr;\
make;\
make -C gdb install;\
cd ..;\
rm -rf gdb-build/;
但是它说,当我运行它时,输出是这样的:
Connec
在我的一些系统上,当我调试非常简单的代码时,GDB的行为与我预期的不同。在某些系统上,当我'step‘时,gdb“掩盖”了标准库调用;在其他系统上,'step’进入到每个库调用的机器语言中。
首先,一个我习惯于从GDB获得的行为的例子:
$ gdb ./testapp
GNU gdb (GDB) CentOS (7.0.1-45.el5.centos)
(...)
(gdb) break main
Breakpoint 1 at 0x80483b6: file testapp.c, line 6.
(gdb) run
Starting program: ./testapp
B
以下连接尝试失败。reiscV-gdb -> patched openOCD (请参阅下面的安装程序)。下面的消息显示在gdb和openOCD中
riscV-gdb输出
(gdb) target remote 127.0.0.1:3333
Remote debugging using 127.0.0.1:3333
warning: Architecture rejected target-supplied description
warning: No executable has been specified and target does not support
determinin
我几乎想出了如何将这个查询转换成SQLAlchemy
select u.* from (select
unit_id,
activity,
max(occurred_at) maxOA
from Activity
group by unit_id) a1
inner join Activity a2 on
a2.unit_id = a1.unit_id and a2.occurred_at
我在将共享库文件加载到gdb时遇到了一些问题。我已经尝试了我能想到的每种排列。我也尝试了在线建议的文件命令,但我仍然无法加载库...
(gdb) file app/src/main/obj/local/armeabi/libUseTBT.so
Reading symbols from app/src/main/obj/local/armeabi/libUseTBT.so...done.
(gdb) info sharedlibrary
No shared libraries loaded at this time.
(gdb) file ~/system_lib/
/home/sansari
调试大型C应用程序时,我从gdb中看到奇怪的行为:我总是可以中断按Ctrl+C的程序
^C
Program received signal SIGINT, Interrupt.
0x76f58964 in select () at ../sysdeps/unix/syscall-template.S:81
81 in ../sysdeps/unix/syscall-template.S
(gdb)
但是,在程序运行足够长的时间(比如>1天)之后,我再也不能轻易地中断程序了。当试图用Ctrl+C中断程序时,gdb只显示
^C
Program received signal SIG
core.1678,core.1689,如何使用gdb.i来解决这个问题已经尝试了gdb选项,但它并没有解决错误。
gdb -bt core.1678
(gdb) core
No core file now.
(gdb) n
The program is not being run.
(gdb) r
Starting program:
No executable file specified.
Use the "file" or "exec-file" command.
(gdb) core.1678
/home/deepak/deepak/mss/.167
有没有人知道可能导致这个问题的原因?当我运行代码时,程序在到达任何地方之前立即在模拟器上崩溃;但是,如果我只是转到模拟器并运行程序,更改已经加载,似乎没有任何明显的问题。或者我怎样才能找出这个问题呢?
[Session started at 2009-09-18 03:31:02 -0700.]
GNU gdb 6.3.50-20050815 (Apple version gdb-966) (Tue Mar 10 02:43:13 UTC 2009)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, cove
有没有可能用gdb运行一个进程,修改一些内存,然后在进程中运行detach?
在执行第一条指令之前,我不能从gdb外部启动进程,因为我需要修改内存。
当您从使用gdb启动的进程执行detach时,gdb将挂起,但从另一个进程终止gdb会使被调试的进程仍在运行。
我目前使用以下脚本来启动该进程:
echo '# custom gdb function that finds the entry_point an assigns it to $entry_point_address
entry_point
b *$entry_point_address
run
set *((char *)0
我检查了gdb源代码,并成功地用MinGW编译。当我运行输出文件gdb.exe时,我不能输入任何东西,任何键按都会导致它退出:
aj@TERRAN E:\
$ gdb --data-directory=E:\gdb_build\gdb\gdb-7.11\gdb\data-directory
GNU gdb (GDB) 7.11
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
T
我知道这个问题和其他问题相似,但似乎没有一个能解决我的问题。
症状
使用gdb. SIGILL's:编程构建和运行gdb_test
~/projects/gdb_test/build> gdb gdb_test
GNU gdb (GDB; openSUSE Tumbleweed) 8.3.1
(...)
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols
我的布尔函数在找到“针”时应该返回true,但即使它返回false并打印出“找不到针”我试图用GDB进行调试,结果发现它实际上返回true,但在满足条件后返回false而没有破坏??
下面是我的代码:
int FindMidPoint(int array[],int size)
{
int i = size / 2;
int Midpoint = array[i];
return Midpoint;
}
bool search(int value, int array[], int n)
{
// TODO: implement a searching algorithm
if ( n &
我的gdb版本是与我的系统python链接的,但是我目前正在使用python的一个特殊的调试版本。因此,gdb无法正确启动,出现如下错误:
$ gdb
gdb: Symbol `_Py_ZeroStruct' has different size in shared object, consider re-linking
gdb: Symbol `PyBool_Type' has different size in shared object, consider re-linking
gdb: Symbol `_Py_NotImplementedStruct' has