我有一个在嵌入式 Linux 设备上运行的应用程序,我正在使用新功能对其进行扩展。新功能需要 GLib,因此我将所需的库动态链接到应用程序。
当我执行此操作并在设备上运行应用程序时,出现分段错误。当我动态链接新库时会发生这种情况。 GDB的回溯显示故障发生在另一个自定义动态链接库中。不幸的是,我只得到了带有以下消息的部分跟踪:
回溯停止:帧未保存 PC
请注意,我仅链接另一个共享库,而不添加任何新代码。如果我静态链接自定义库,崩溃就会消失。我怀疑内存损坏发生在其他地方,并且当动态链接自定义库以便发生分段时,条件(即内存映射)恰到好处。
有人知道我可以用来进一步调试的任何好的工具和技术吗?