问题标签 [gdbserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 使用 gdb/gdbserver 跳过库调用
我有一个通用的 gdb/gdbserver 问题。我正在尝试使用主机上的 gdb 和远程目标上的 gdbserver 来调试 arm linux 嵌入式应用程序。我可以单步执行 main 开头的代码行。但是,gdb(或 gdbserver)在调用共享库函数后似乎会丢失。即使我在调用后设置断点并使用 continue,它也永远不会到达断点。我知道我在共享库中没有符号,并且真的不想进入它们。即使符号不在共享库中,或者至少继续到下一个断点,我是否应该能够成功地跨过 gdb 中的库调用?或者这是否表明存在不同类型的问题?
linux - 使用 gdbserver 调试共享库
我在目标和 CodeSourcery IDE 上使用 gdbserver。我的硬件是带有 omap3530 的 gumstix。
我可以在我的主应用程序中单步执行代码,但是如果我尝试单步执行共享库中的函数,我会得到内存地址并且调试器会终止。
这是我的库,已编译并复制到目标系统上的 /lib 文件夹。(它确实有调试符号)我试图使用 .gbdinit 文件来设置 solib-absolute-prefix /lib
以下是来自 gdb 跟踪的警告:
这导致
android - Android和NDK下无法用gdb调试,启动gdb崩溃App
我在尝试使用 Android NDK 调试本机代码时遇到问题。
当应用程序运行时,我启动ndk-gdb
,结果是 gdb 失去与设备的连接,设备上的应用程序崩溃。
设备(Samsung Galaxy 10.1)和模拟器都会发生同样的事情。主机运行 Mac OS X。应用程序的本机部分由多个 .so 库组成,使用构建ndk-build clean all NDK_DEBUG=1
我附上了gdb
下面的输出。
任何帮助将不胜感激。
编辑:也许问题出在“cp”命令失败?还有空的“使用 gdb setup init:”行?
eclipse-cdt - 使用 Eclipse CDT gdbserver 进行远程调试:stdin/stdout
好的,这看起来很基本,但没有运气。我正在使用带有 CDT 的 Eclipse Helios。主机和目标都是 linux 机器。我一直在目标机器上启动我的应用程序:
gdbserver:端口 my_app
并使用“C/C++ 附加到应用程序”调试配置从 Eclipse 成功附加。我的应用程序的标准输出显示在目标系统上,但标准输入没有转到我的应用程序。在 Eclipse 中,我有一个用于 gdb(命令)和 gdb 跟踪的控制台,但没有像在本地调试时那样的应用程序控制台。调试配置“分配控制台”复选框仅控制我是否获得 gdb 命令控制台。
我尝试单独启动应用程序并附加(使用 gdbserver --multi)。这更糟糕:eclipse/gdb 没有看到目标 tty 上的所有正在运行的线程和标准输入导致
子进程以信号 = 0x5 (SIGTRAP) 终止
跟踪/断点陷阱
任何帮助,将不胜感激。
android - 如何使用 valgrind 启动一个安卓应用程序
上周我一直在寻找这个问题的答案。
如何使用 valgrind 启动 Android 应用程序?我知道我可以使用“am”命令启动应用程序,但它会启动应用程序并退出。
我正在编写一个将 NDK 用于本机 C 代码的应用程序,我需要检查它是否存在可疑的内存错误。
编辑:
我又学到了一点。您可以使用 shell 脚本“包装”应用程序。
这是我正在使用的 shell 脚本:
这是setprop:
这是我启动应用程序的方式:
我认为这是不对的,因为我不确定 shell 脚本的位置,而且我在 logcat 中看不到任何内容。有什么提示吗?
Edit2:哦,shell 脚本用上面的“setprop”命令表示。所以
我仍然没有在 logcat 中看到任何内容。
gdb - gdb 抛出错误说程序有一个函数“malloc”
我在 gdb 中执行了以下命令,控制台输出如下:
(这里我有错误)
在这里,我正在调试目标而不是本机调试。我正在使用 GNU gdb (GDB) 7.2 版本。是否可以使用脚本解决。
debugging - gdb 在断点后丢失行号信息(在内核模块上)
我正在将 gdb 连接到虚拟机的内核并尝试调试内核模块。我能够连接到虚拟机。我有内核代码的符号信息,并且可以很好地单步执行内核代码。
当我为我的内核模块添加符号文件时(顺便说一下,无论我是在远程连接之前还是之后执行此操作),我都能够list <function_name>
获取有关该函数的信息,直到我设置断点;在那之后:
附加信息:
- 主机和来宾都是 Fedora 16 64 位。
- 我正在调试的内核是 3.0.8 - 请注意,此内核在具有不同环境和远程连接设置的先前 32 位设置上运行良好。
- 我已经用 gdb 7.2 和 7.3.50 试过了。
有什么想法吗?如果我什至能确定问题出在我的内核、内核模块编译、连接还是 gdb,那将会有所帮助。
更新:使用 gdb 7.1,我得到以下信息:
这意味着什么?
valgrind - 调试使用 valgrind 运行的应用程序
我正在研究 valgrind 并想在 valgrind 运行时调试程序。但我不想使用内置的vgdb
,而是想使用自定义 gdb 服务器。有没有办法在现有的 valgrind 代码中插入这个自定义 gdbserver。
谢谢
android - 回溯停止:在 gdb android c 项目期间,前一帧与此帧相同(损坏的堆栈?)
我通过ndk构建了一个项目,但不幸的是,当它在android模拟器中运行时,它会崩溃并出现以下提示:
然后,我按照教程调试我的项目,但它来到了程序集文件。而且我理解汇编文件并不容易。所以,我开始使用核心转储。但是,当系统生成核心文件并且我尝试使用 gdb 读取核心文件时,它会提示以下内容并且 gdb 似乎无法使用它:
最后,我不知道下一步该做什么,有什么想法吗?谢谢
linux - 交叉编译 gdbserver 时出错
我想用gdb在arm-Linux开发板上调试。编译 gdbserver 时出现错误。
主机:Ubuntu 11 32bit 目标:arm-linux-gcc(gcc 版本 4.4.3)
我收到此错误消息:
根据我在谷歌搜索的内容。编译器无法获取 ncurses 库。
我按照建议的解决方案安装 libncurses5-dev,但问题仍然存在。libncurses5 确实存在于我的 Linux 中。
请帮助并指出我错过了什么。非常感谢