我获得了一个核心文件并要求调试SIGBUS错误,但这个SIGBUS错误不容易重现。它很少发生在自然界中。现在我知道SIGBUS可能是因为“BUS_HWERR(或)BUS_ALIGN(或)BUS_OBJERR”,但如何确认这个错误的原因是什么。我相信SIGBUS只会因上述情况而发生,如果还有其他情况也请告诉我。
抱歉无法共享代码和核心文件,但sig总线仅在以下行生成
“if (strcmp(msg_value, md->msg_value) == 0)
”
其中md是一个结构 msg_value是一个char *
请告诉我如何找到“SIGBUS”错误的原因。
注意:SIGBUS错误不会一直发生,它很少发生。