你好,我的是dm8148,rdk包是ipnc_3.8 但是包里的交叉编译链中的相关动态库以及包中的文件系统的文件夹中的lib库全都是没有符号表,没法调试在动态库中的程序崩溃,我自己下载并编译移植了glibc的 2.12.1版本,还是不行,文件系统直接挂载不起来了,你们有如下的带符号表的动态库么??、
user5771838:
请TI的工程师帮忙回复下,谢谢
,
user5771838:
请TI的人员回复下
,
Annie Liu:
感谢您对TI产品的关注!为更加有效地解决您的问题,我需要询问更了解这款芯片的TI资深工程师,再为您解答,一旦得到回复会立即回复给您。
您也可以查看下帖了解进展:https://e2e.ti.com/support/processors/f/791/t/967649
,
Annie Liu:
这是标准的glib库,抱歉我们没有该库的调试版本。
理想情况下,不用调试该库,请检查它崩溃的位置以及在调用特定glib API时出现了哪些参数错误。
,
user5771838:
你好
这个库包含了 memcpy strcpy 等等诸多的 标准C库函数 这些库没有符号表的情况下 使用GDB调试函数名都 ??, 根本无法定位出错位置
,
Annie Liu:
抱歉,不太明白您的问题,请重新详细描述您遇到问题。
,
user5771838:
使用rdk_3.8包里的文件夹(filesys)打包成的文件系统,下载到dm8148上,它的/lib目录下的.so动态库都是不带符号表的,gdb调试时,如果程序调用的标准C库函数是由动态库提供的,那么gdb调试的错误信息是不显示函数名的,比如??(),如果动态库带符号表,则gdb调试时错误的部分是带函数名,比如 memcpy()。 我现在因为gdb调试时一直是??(),无法找到程序崩溃(段错误或者总线错误)的地方
,
Annie Liu:
很抱歉,我们没有这些库的调试版本。
如果发生崩溃,segfault,总线错误,则至少应获取一些信息,例如程序计数器,堆栈指针等。您可以使用这些信息来至少弄清楚代码的哪一部分造成了问题。