当分段故障发生时,我如何知道程序访问哪个非法地址

ove*_*ing 6 c linux embedded segmentation-fault

另外,该程序在运行Linux的arm设备上运行,我可以打印出堆栈信息并在我指定的sig-seg处理程序中注册值.问题是我无法在源文件中添加-g选项,因为由于性能降级,错误可能无法重现.

caf*_*caf 13

与编译-g选项gcc不会造成"性能降级".它所做的只是包含调试符号; 它并不会影响优化和代码生成.

如果SIGSEGV使用传递给sa_sigactionsigactionstruct 的成员安装处理程序sigaction(),则传递给处理程序si_addrsiginfo_t结构成员包含错误地址.