我正在为Linux开发一个共享库,它会生成一些我想在调试器中标记的线程。
我已经读过这个可以通过写入/ proc / [PID] / tasks / [TID] / comm来完成,但这不起作用(我的目标是一个较旧的libc) 。我还希望能够分配比通信限制更长的名称。
我的计划是自动加载Python脚本,将其放在.debug_gdb_scripts section中。
但是我想删除除脚本之外的调试信息以及它需要什么。 我尝试使用--keep-symbol选项,但仍然删除了所有调试部分(包括.debug_gdb_scripts)。
有没有办法保留这些?
答案 0 :(得分:2)
首先想到的一个想法是首先删除你的程序,然后使用.debug_gdb_scripts
添加objcopy
。
另一种方法可能是将.debug_gdb_scripts
放入mini debug section。我认为这应该可行,虽然它有点奇怪 - 我认为第一种方法更健全。
另一个选择是执行标准操作并将所有debuginfo剥离到单独的debuginfo文件,然后在调试时使用。但是根据你的问题,我认为你有一些理由不想这样做。