目前遇到這樣的問題,大概在2000多台伺服器裡面有100多多台乙個c程序掛掉了,由於公司各種的流程除錯起來非常困難。
這幾天google了下找到了一些資料,捕獲異常堆疊的,如
我有兩個疑慮:目前我想問問,有沒有這篇文章裡面用的不知道linux各個版本核心是否是標準支援嗎?
裡面還用到乙個命令
addr2line
,是否標準支援。
linux c
已經實現好了的try catch
框架,能列印異常堆疊,最好能定位到行。
預設排序
時間排序
答案對人有幫助,有參考價值
0答案沒幫助,是錯誤的答案,答非所問
cale 2
5月14日 回答 · 5月14日 更新
用斷言#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__file__, __line__))
答案對人有幫助,有參考價值
-1答案沒幫助,是錯誤的答案,答非所問
zonxin 1k
5月11日 回答
setjmp
和longjmp
這兩個函式可以實現類似的功能,好像是標準庫里的函式
參見
答案對人有幫助,有參考價值
-2答案沒幫助,是錯誤的答案,答非所問
franklinyang_楊 -2
5月11日 回答
啥叫c程序?你的程序可以自己打log嘛~等著c實現try catch,你有得等了~
答案對人有幫助,有參考價值
-2答案沒幫助,是錯誤的答案,答非所問
叱海凌風 -3
5月11日 回答
goto 啊 linux核心作者推薦的方式
異常處理的方式
finally是個可選的,可以不寫 使用try將可能出現異常的 包裝起來,在執行過程中,一旦出現異常,就會生成乙個對應異常類的物件,根據此物件的型別,在catch中進行匹配 一旦try中的異常物件匹配到某乙個catch時,就進入catch中進行異常的處理 處理結束後,就跳出當前的try.catch結...
異常 try catch的方式處理異常2
package cn.itcast 01 a 乙個異常,前面已經講過了 b 二個異常的處理 a 每乙個寫乙個try.catch b 寫乙個try,多個catch trycatch 異常類名 變數名 catch 異常類名 變數名 注意事項 1 能明確的盡量明確,不要用大的來處理。2 平級關係的異常誰前...
Spring 異常處理的幾種方式
目錄 1.exceptionresolver 1 defaulthandlerexceptionresolver 2 annotationmethodhandlerexceptionresolver 4 responsestatu ceptionresolver 2.spring boot增加的兩種...