fault addr
时间: 2024-04-24 14:27:25 浏览: 88
引用\[1\]:--------- beginning of crash C000A02 03-06 05:06:11.503 506 506 F libc : Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x72a3d4d000 in tid 506 (secure_element@), pid 506 (secure_element@) 。
引用\[2\]:结论:出现SIGSEGV,是进程执行了一个无效的内存引用。 如何分析:内存错误发生后如何排查,尤其是 Fatal signal 11 (SIGSEGV)这个错误,报出来之后程序就会崩溃,定位还不好定位,如何定位到所出问题的函数或者代码行?分析 crash 的堆栈信息,通过地址定位源文件中出错的函数或具体行数(addr2line) 。
引用\[3\]:好的查问题,发现是C++的底层文件报出的错误。JNI层面的错误信息不太具体,只有靠打印信息一步步查看问题,最后定位是pthread_mutex_init(H264datalock, NULL)互斥量初始化找不到地址,再看互斥量定义:pthread_mutex_t *H264datalock,难道是指针没有初始化造成的,但是此程序在Android4.4下跑了很久了,从没有出现过这个问题啊!抱着怀疑的态度,试一试,互斥量定义改为pthread_mutex_t H264datalock,不用指针,初始化则改为pthread_mutex_init(&H264datalock, NULL),好了,程序又顺利运行了。
问题: fault addr是什么意思?
回答: fault addr是指在发生错误时,导致程序崩溃的内存地址。在这个例子中,错误是由于执行了一个无效的内存引用导致的,而fault addr则指示了具体的内存地址0x72a3d4d000。\[1\]
#### 引用[.reference_title]
- *1* *2* [Fatal signal 11 (SIGSEGV), code 2(SEGV_ACCERR), fault addr 解决方法](https://blog.csdn.net/Haomione/article/details/129737159)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Android5.0后出现的新错误:fatal error 11 fault addr](https://blog.csdn.net/allencheung2010/article/details/49329203)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文