在我们的项目中,我们从其他团队获得ramdumps,这是在系统崩溃的情况下生成的,需要进一步调查。我正在开发一个实用程序,它在ram中保存一些特定于板的数据,以后可以用于调试目的。为了更好地理解我的实用程序将被使用的环境/过程,我试图找出这些信息。
直到现在我才知道会有看门狗运行(软件/硬件),它会在特定的超时时间内被触发。一旦触发,它将通过一些系统寄存器执行系统复位。
现在我对生成ramdumps时有点模糊,是在重置之前/之后,还是需要一些其他连接到板上的工具来捕获ramdumps。
我理解一旦ramdumps可用,我们可以运行解析器来提取有用的信息,或者可以在调试器中使用它,比如gdb,以进一步分析导致崩溃的状态。
答案 0 :(得分:1)
有很多工具可以分析ramdump,换句话说就是物理内存转储。
想象一下复位后RAM的条件是什么。一般情况下,在重置之前,不要在重置之前转储内存,以便进行内存分析。
根据ramdump的生成,传输和存储方式分为三个部分。
稍后您还需要支持引导加载程序,它会决定是否进入ramdump模式而不能正常启动Linux。
内核将调用从ramdump驱动程序注册的内核恐慌通知程序。 Ramdump司机呢,
有关Ramdump Linux inspection的详细信息。
你可以在飞行中尝试这样的事情
$ cat /proc/[your_pid]/maps and the use gdb to inspect
$ gdb --pid [your_pid]
一些可以帮助您的工具。
通过这些列表,您将找到有关(FATKit)Foresnic Analysis toolkit.Foriana等的信息