当前位置: 技术问答>linux和unix
高手请进!linux系统下,release版本的程序奔溃时如何定位到源代码行号
来源: 互联网 发布时间:2017-04-04
本文导语: 别说用addr2line, Debug版本确实能做到,release就不行了,行号变为了?? 最近开发的软件产品在客户那偶尔会出现crash,但由于是在仿真过程中发生的,就算是再进行几遍仿真(保证仿真条件相同)也很难重现,这种偶...
别说用addr2line, Debug版本确实能做到,release就不行了,行号变为了??
最近开发的软件产品在客户那偶尔会出现crash,但由于是在仿真过程中发生的,就算是再进行几遍仿真(保证仿真条件相同)也很难重现,这种偶发性的bug最头痛了,虽然出现概率小,但是一旦发生crash,会给客户带来很不好的印象,从而间接影响市场部门的商务谈判。目前的log文件中使用addr2line去定位源代码位置,可是给客户的版本是release版,这个log文件只能显示出错的函数名称,不能定位到行号(只能看见??)。
真心求高手帮忙!!!!
最近开发的软件产品在客户那偶尔会出现crash,但由于是在仿真过程中发生的,就算是再进行几遍仿真(保证仿真条件相同)也很难重现,这种偶发性的bug最头痛了,虽然出现概率小,但是一旦发生crash,会给客户带来很不好的印象,从而间接影响市场部门的商务谈判。目前的log文件中使用addr2line去定位源代码位置,可是给客户的版本是release版,这个log文件只能显示出错的函数名称,不能定位到行号(只能看见??)。
真心求高手帮忙!!!!
|
release版的一般开了优化了的。行号不一样的。
发布出去的不知道能不能生成core,,,不行的话,你就在那个函数里多打出一些log,,这样不就能确定在哪行了么?
发布出去的不知道能不能生成core,,,不行的话,你就在那个函数里多打出一些log,,这样不就能确定在哪行了么?
|
在函数里的话,检查函数吧,看看函数里是否有可疑的地方。
release也可以加-g参数的吧?
release也可以加-g参数的吧?