gdb相关内容

使用GDB单步装配code超出了规定的可执行文件会导致错误"不能找到当前功能和QUOT的界限;

我之外GDB的目标可执行文件,我甚至不具有对应于该目标栈。我想单步,无论如何,这样我就可以验证这是怎么回事,我组装code,因为我不是在x86汇编的专家。不幸的是,GDB拒绝做这个简单的汇编级调试。这使我可以设置并停止适当的断点,但只要我尝试单步起,GDB报告错误“无法找到当前函数的边界”和EIP不会改变。 其他详细信息: 是由GCC汇编语句生成的机器code和我把它复制到它的执行内核内存的位 ..
发布时间:2016-07-18 19:51:31 服务器开发

GDB报告"在目前情况下&QUOT没有符号;在数组初始化

我试图来初始化大小CEIL数组(buflen / 125.0)如下: 长长maxjpg = CEIL(buflen / 125.0); 长长的常用3 [maxjpg] 我没有收到一个编译器错误,但GDB报告“,在目前情况下没有符号'改编'”。我发现的唯一的解决方法是通过硬编码数值到数组的大小,像这样:长长的常用3 [5]; 我曾尝试铸造,采用不同的变量类型,使用常量和这些方法的任意组合。 ..
发布时间:2016-06-02 22:46:12 其他开发

修改GDB数组元素对C值+

只是想知道如何修改阵列的多个元素的值在gdb下为C ++? 感谢和问候! 解决方案 是这样的: 打印的memcpy(the_array_you_want_to_modify,{newvalue1,newvalue2,...,newvalueN},N * sizeof的(the_array_you_want_to_modify [0])) 可能是你在找什么? ..
发布时间:2016-06-01 22:32:07 C/C++开发

GDB:打印二维数组FORTRAN

有一个问题用GDB打印在FORTRAN code二维数组的值。 (GDB)打印VAR(1,2) 没有这样的向量元素 广泛的搜索后,我发现日〜2007年很多帖子 - 有关该问题的2010。大多数终端用户与别人暗示的补丁。已经这个问题曾经在当前版本(我使用7.4-2012.04)得到了解决?有没有关于该问题目前的职位,有没有被修复或适当变通可用? 一个建议是切换到c (GDB)一套c语言 (GD ..
发布时间:2016-06-01 21:54:06 其他开发

如何打印Fortran数组在GDB?

在C / C ++打印一个指针数组我通常做名@尺寸。相当于为的Fortran77是什么? 解决方案 Fortran 90的使用描述符来重新present其阵列的尺寸(形状),并通过形状的数组参数。此外,在Fortran指针是特殊的 - 它们只能指向合格的目标。这使得在Fortran中要好得多调试器内省比C / C ++。只需使用打印ARR(指数)或信息之一命令 - 不需要花哨的东西。 样 ..
发布时间:2016-06-01 20:08:11 其他开发

GDB硬件断点不远程调试工作

我用GDBSERVER做远程调试与ARM11 CPU。该软件断点效果很好,但我们我使用“hbreak test.c的:5”设置硬件断点,CPU将永远不会停止。。 GDB版本:7.3.1 目标CPU:ARM11 操作: ARM-Linux的GDB ./main (GDB)的目标远程192.168.0.1:2345 (GDB)hbreak test.c的:5 =>硬件断点,这是行不通的 ..
发布时间:2016-05-29 15:06:10 其它硬件开发

找不到核心文件的通用寄存器

我得到下面的错误,当我尝试调试核心文件。如何解决这个问题。 就在几天前,它正在罚款。 我尝试运行“/ sbin目录/ ldconfig的”与根provileges。 code编译时: G ++ -fPIC -ggdb 我的可执行文件是32位二进制: $文件申请ELF 32位LSB的可执行文件,ARM版本1(SYSV),动态链接 (使用共享库),不剥离。 用户@ UBU:到/ mnt / ..
发布时间:2016-05-29 15:00:53 其它硬件开发

GDB:无法找到新主题:系统更新后一般错误

我在ARM板,在我的应用程序正在运行运行基于Linux的OpenEmbedded的。我用来运行内核2.6.35,GDB 6.8和GCC 4.3。最近我已经更新了系统内核2.6.37,GDB 7.4(也试过7.3)和gcc 4.6。 现在,我的应用程序无法再调试(在ARM板),每次我尝试在GDB运行它,我得到错误“GDB:无法找到新主题:一般错误”。该应用程序使用的pthreads的,而且能依靠p ..
发布时间:2016-05-29 14:54:48 其它硬件开发

GDB不会阅读外国架构核心文件

我想读我的Linux桌面上的ARM内核文件,但它似乎没有能够找出我的核心文件。有什么办法,我可以指导GDB什么类型我的核心文件? $文件〜/守护进程 ./daemon:ELF 32位LSB的可执行文件,ARM,版本1,动态链接(使用共享库),为GNU / Linux 2.0.0,不可剥离 $文件〜/芯 ./core:ELF 32位LSB核心文件ARM版本1(SYSV),SVR4的风格,从“./ ..
发布时间:2016-05-29 14:54:40 其它硬件开发

如何使用GDB生成它时,限制核心转储文件的大小

我运行的ARM9板,其中,总闪存大小只有180MB的嵌入式应用。我能够运行 GDB ,但是当我做 (GDB)生成核心转储 我得到一个错误 警告:内存读取0x4156c000失败的核心文件部分,1048576字节。 警告:内存读取0x50c00000失败的核心文件部分,1048576字节。 保存核心文件core.5546 该程序正在运行。反正退出(并将其分离)? (是或否)回答的是y;从端子输 ..
发布时间:2016-05-29 14:53:56 服务器开发

远程调试共享库使用gdb / gdbserver的

我的问题是关于用gdb / gdbserver的的嵌入式ARM处理器的远程调试应用程序。 我可以调试应用程序本身,而是应用程序动态链接到这家通信协议实现了共享库。我希望能够到共享库函数内设置断点,以便揣摩一些设备发现的问题。 我已经确定该库编译调试符号,是由GDB装在主机端,我可以在图书馆内列出的功能,甚至设置断点,但只要我尝试运行应用程序,我得到一个错误信息的影响: 无法插入断点十结果 ..
发布时间:2016-05-29 14:51:44 服务器开发

调试Linux内核pre-DECOM pression阶段

我想使用GDB调试Linux内核的zImage之前,它是DECOM pressed。内核是在ARM目标上运行,我必须连接到其与GDB服务器存根一个JTAG调试器。目标有加载引导程序。引导加载程序从闪存中读取内核映像,并在 0x20008000 所说的那样在RAM中,然后跳转到该位置。 我已经开始GDB并连接到远程目标,然后使用GDB的添加符号文件命令,像这样: 添加符号文件拱/ ARM /开机 ..
发布时间:2016-05-29 14:42:07 其它硬件开发

运行时嘲讽用C?

这已现等待在我的名单很长一段时间。在短暂的 - 我需要运行 mocked_dummy()中的位置假人() 打开运行时间,无需修改因子()。我不关心对软件的入口点。我可以加起来任意数量的附加功能(但不能修改在 code / * ----不要修改---- * / )。 为什么我需要这个?结果 做一些传统的C模块的单元测试。我知道有很多可用的工具左右,但如果运行时嘲讽可能我可以改变我的UT办法(添加 ..
发布时间:2016-05-29 14:41:32 其它硬件开发

LDR - 文字池 - ARM

我知道如何使用LDR指令在ARM加载一个直接的价值。 例如: LDR R0,= 0x0804c088 该指令将值( 0x0804c088 )的寄存器 R0 。当我尝试访问该地址被存储在使用 X / X $ R0 使用 GDB 。我得到的消息:无法访问地址的内存 0x0804c088 。但是,这并不是地址,它是存储在寄存器中的值,该地址是存储在文字池 PC 相对地址。 什么是错误,我在那里做 ..
发布时间:2016-05-29 14:37:24 其它硬件开发

节目接收信号SIGTRAP,跟踪/断点陷阱

我调试一块(嵌入式)软件。我给自己定一个函数断点,出于某种原因,一旦我达到这个断点和继续我总是回来的功能(这是一个初始化函数这应该只能被调用一次)。当我删除了断点,继续,GDB告诉我: 程序接收到的信号SIGTRAP,跟踪/断点陷阱。 由于我与断点的工作,我假设我在一个“断点陷阱”下跌。什么是断点陷阱? 解决方案 断点陷阱仅仅意味着处理器已达到一个断点。有两种可能性,为什么发生这种情况 ..
发布时间:2016-05-29 14:32:00 其它硬件开发

如何设置在ARM处理器上软件断点?

我怎么做一个x86软件中断等价的: ASM(“INT $ 3”) 在ARM处理器上(特别是一个Cortex A8的)生成,将打破在gdb下执行一个事件? 解决方案 ARM并没有定义一个特定的断点指令。它可以在不同的操作系统不同。 ARM Linux上它通常是一个UND运code(如 FE DE FF E7 )的ARM模式和BKPT( BE BE )。 使用GCC编译器,通常可以使用 ..
发布时间:2016-05-29 14:31:29 其它硬件开发

低水平基于QEMU调试

我已经测试在ARM架构的一些低级别code。通常的实验是相当复杂的上实板,所以我在想QEMU。 我想获得某种调试喜欢用printfs或GDB的信息。我知道,这是Linux的简单,因为它实现既为QEMU Integrator和gdb的功能的设备驱动程序,但我不使用Linux。此外,我怀疑是从Linux内核源代码code提取这种功能将是复杂的。 我从一些简单工作已经实现了这些功能的一个系统搜索。你 ..
发布时间:2016-05-29 14:27:10 其它硬件开发