当前位置: 技术问答>linux和unix
嵌入式linux异常跟踪怎么实现?
来源: 互联网 发布时间:2016-07-11
本文导语: 我的进程中经常出现一些莫名奇妙的异常,因为进程中线程比较多,而且是嵌入式环境,原因很难查找。 能否在出现异常的时候,捕获异常事件,获取每个线程的堆栈等信息,从而分析出每个进程的函数调用执行情...
我的进程中经常出现一些莫名奇妙的异常,因为进程中线程比较多,而且是嵌入式环境,原因很难查找。
能否在出现异常的时候,捕获异常事件,获取每个线程的堆栈等信息,从而分析出每个进程的函数调用执行情况。
主要有两个问题
1、怎么获取进程中每个线程的堆栈等信息?
2、怎么在编译目标文件的时候,生成函数和变量的地址向量表?
先谢谢了!
能否在出现异常的时候,捕获异常事件,获取每个线程的堆栈等信息,从而分析出每个进程的函数调用执行情况。
主要有两个问题
1、怎么获取进程中每个线程的堆栈等信息?
2、怎么在编译目标文件的时候,生成函数和变量的地址向量表?
先谢谢了!
|
在嵌入式的多线程编程中,调试是不可或却的一个步骤。
尤其是利用gdbserver进行远程调试,
工具的话就使用arm-linux-gdb以及gdbserver即可。
具体调试方法,网上很多,利用google baidu一下。
尤其是利用gdbserver进行远程调试,
工具的话就使用arm-linux-gdb以及gdbserver即可。
具体调试方法,网上很多,利用google baidu一下。
|
你的线程函数体式共用的还是私用的?
线程堆栈是由线程库和操作系统决定的。不知道你说的堆栈信息指的是?堆栈中存储的变量,还是别的?
线程堆栈是由线程库和操作系统决定的。不知道你说的堆栈信息指的是?堆栈中存储的变量,还是别的?
|
gdbserver gdbserver gdbserver clewn
|
应该是命令错误导致的。
一般远程连接的命令为:target remote ipaddr:portnbr
|
嵌入式应该也有它自带的调试工具吧,类似于gdb
顺便顶一下
顺便顶一下
|
嵌入式 没搞过 帮顶
|
嵌入式 貌似很难 没搞过
|
这样跟踪似乎比较麻烦,
我觉得可以在编码阶段在异常处理函数中加上debug 跟踪信息
比如 加调试开关的 打印语句
我觉得可以在编码阶段在异常处理函数中加上debug 跟踪信息
比如 加调试开关的 打印语句