Jas*_*cek 5 c++ linux embedded debugging embedded-linux
我正在开发一个运行在基于Linux的小型SBC(~32MB RAM)上的应用程序.可悲的是,我的应用程序最近变得太大而无法在GDB下运行.有没有人知道我可以在嵌入式Linux中使用的任何好的,轻量级的调试方法?即使能够查看线程的堆栈跟踪也非常有用.
我应该提一下,这个应用程序是用C++编写的,并运行多个线程,所以gdbserver是不行的,因为它不适用于多线程应用程序.
提前致谢,
摩诃
gdbserver 绝对适用于多线程应用程序,我现在正在开发一个具有 >25 个线程的嵌入式项目,并且我们一直使用 gdbserver。
info threads
Run Code Online (Sandbox Code Playgroud)
列出系统中所有的线程
thread <thread number from info threads>
Run Code Online (Sandbox Code Playgroud)
切换到该执行线程。
thread apply XXX <command>
Run Code Online (Sandbox Code Playgroud)
在 XXX 指定的线程上运行,也可以是“全部”。因此,如果您想要所有正在运行的线程的回溯,请执行以下操作
thread apply all bt
Run Code Online (Sandbox Code Playgroud)
一旦进入给定线程的执行流程,所有典型命令都会像在单线程进程中一样工作。
| 归档时间: |
|
| 查看次数: |
1482 次 |
| 最近记录: |