Re: [問題] segmentation fault

看板C_and_CPP作者 (我愛阿蓉)時間13年前 (2012/03/08 23:57), 編輯推噓3(3012)
留言15則, 7人參與, 最新討論串4/4 (看更多)
藉此一問 我查了一些網頁 http://yczhuang.blogspot.com/2008/06/segmentation-fault.html http://www.cplusplus.com/reference/clibrary/csignal/signal/ 我比較不清楚... 這個signal函式 設計的本意是什麼 爬文都看到是在討論 他宣告扯到function pointer.. 我剛用VC測了一下 縱使我觸發 segmentation fault (dereference null ptr) 他跑完那個handler也是照樣當掉 我原本是想說 有沒有辦法很暴力的error handling 讓程式當掉前 都被我這個handler吃掉 讓他不會強制中止 之前是有測試 MS的 SEH 那個機制 但是他似乎要在每一段code block都夾起來__try __expect 那種 多條thread在互動的程式比較不好 一次統一在一個地方handle所有error 藉此提出這個問題 因為看sample感覺只是讓程式crash前 可以多做一些處理.... 謝謝 ※ 引述《sudada (嘰咕嘰咕嘰咕)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : Linux GCC G++ : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) : 問題(Question): : 這篇不是要來問code的! : 小弟最近在做一個平台 : 上面會執行各式各樣的程式碼 : 所以我想遲早會碰到segmentation fault這個問題 : 請問大家 : 有沒有辦法在自己的程式端就處理掉違規存取的辦法呢? : 不然一出錯程式就關掉也不是辦法 : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.137.84

03/09 00:02, , 1F
segmentation fault應該要治本的解決,而不是把它吃掉XD
03/09 00:02, 1F

03/09 00:15, , 2F
對阿...只是有些例外真的是預期之外~
03/09 00:15, 2F

03/09 00:15, , 3F
或是考慮到程式crash對user觀感很差的考量 有時候不當掉
03/09 00:15, 3F

03/09 00:16, , 4F
也許是個 比較好的處理方式....
03/09 00:16, 4F

03/09 00:17, , 5F
作產品時,發現當掉是好事,有錯沒當的話..可能是客戶瘋掉
03/09 00:17, 5F

03/09 00:20, , 6F
想說 我能發現的問題都解了 怕有預期之外 想知道有沒有
03/09 00:20, 6F

03/09 00:20, , 7F
暴力法 可以做到這件事~
03/09 00:20, 7F

03/09 00:27, , 8F
windows上沒辦法用signal handler吃sigsegv, msdn有寫
03/09 00:27, 8F

03/09 00:51, , 9F
那原本這signal 的用途是什麼呀@@
03/09 00:51, 9F

03/09 01:44, , 10F
debug
03/09 01:44, 10F

03/09 01:48, , 11F
windows沒有好好遵照posix規格吧(爆)
03/09 01:48, 11F

03/09 12:44, , 12F
可以吧,我記得是要弄long jump讓他跳回原來出錯的位置
03/09 12:44, 12F

03/09 14:21, , 13F
C ISO draft 7.14.1.1,SIGFPE SIGILL SIGSEGV下從handler
03/09 14:21, 13F

03/09 14:21, , 14F
返回的之後是UB,所以別想太多...
03/09 14:21, 14F

03/09 14:23, , 15F
Windows下就乖乖玩SEH吧XD
03/09 14:23, 15F
文章代碼(AID): #1FMDRbhH (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1FMDRbhH (C_and_CPP)