gdb stack strangeness

僤鯓⒐⒋嵵緔 提交于 2019-12-06 06:04:25

The AY16_Loop_M16() in libmkl_mc.so most likely was written in assembly, and does not have correct unwind descriptors, which are required for GDB to properly unwind stack on x86_64 (in the absence of frame pointers).

Your best bet is to contact Intel, and ask them to add proper unwind descriptors.

You may get better results if you set a breakpoint on the start of AY16_Loop_M16 -- if it is called from C (or any other non-assembly language), chances are you'll get a reasonable stack trace on entry.

While your code may be compiled with debugging symbols, the same may not be true of the shared libraries. You may need to install debug versions of those libraries to get those symbols.

You can still use GDB to debug your own code. Just ignore the unknown locations and look for your own function calls in the backtrace. Odds are good that the problem is not in the shared libraries anyway.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!