推 CoNsTaR: 不懂問題在哪裡,直接用 try catch 包住不行? 01/12 12:26
→ soufon: callback 的話,無法包住 01/12 12:30
→ soufon: callback 就一個func的定義,無法在定義外包一層try cat 01/12 12:32
→ soufon: ch,而此func一被觸法就掛了,根本連第一行都沒執行到, 01/12 12:32
→ soufon: 參數就掛了 01/12 12:32
→ bdvstg: 被呼叫的跟呼叫的都在別人那? 01/12 12:32
→ soufon: 我這邊有掛載那隻api 01/12 12:38
→ soufon: 事件一觸發就會跳進api裡面,api我們這邊有overwrite但掛 01/12 12:39
→ soufon: 在一被call的時候,來不及try catch 01/12 12:39
推 LPH66: callback API 詳細長怎樣? 01/12 12:48
→ LPH66: 你怎麼判斷是參數問題的? 01/12 12:49
→ LPH66: 你所發現的「參數問題」又是怎樣的參數才使程式當掉? 01/12 12:50
→ soufon: core dump: std::invalid_argument 而且callback第一行都 01/12 12:50
→ soufon: 還沒執行到就掛 01/12 12:50
→ soufon: 外部msg server來的訊息,跟外部要send log 看起來無異常 01/12 12:51
→ soufon: .. 01/12 12:51
推 LPH66: invalid_argument...有種 stoi 失敗的味道在 01/12 12:56
→ LPH66: 查一下 send log 裡有沒有該是數字的欄位裡沒有數字 01/12 12:57
→ LPH66: 我會猜這不是你們的 callback 的問題 01/12 12:57
→ LPH66: 說起來你有 coredump, gdb 進去後是不是停在 stoi 裡? 01/12 13:00
→ soufon: what () invalid string : float 01/12 13:19
→ soufon: 但跟外部要到的send log沒啥問題… 01/12 13:19
→ descent: 你可以用組合語言的單步執行嗎?可以找到哪行組語有問題 01/12 14:45
→ soufon: 好像無法組語單步執行,km onmessage一call 進來直接exc 01/12 15:03
→ soufon: eption 掛掉 01/12 15:03
→ soufon: 因無法try catch 阻擋掛掉 qq 01/12 15:03
推 LPH66: 果然雖不中也不遠, 這看起來是掛在 stof 裡 01/12 20:23
→ LPH66: 那既然在進入你的 callback 前就掛了合理懷疑是來的訊息中 01/12 20:24
→ LPH66: 該是數字的欄位沒有數字, 傳進 stof 就掛了 01/12 20:24
→ LPH66: 去問你用的這個 API 的作者有沒有什麼地方會有這種問題 01/12 20:24
→ LPH66: 總之這應該是來的訊息跟它的處理程式的問題 01/12 20:25
→ LPH66: 和你的 callback 沒有關係 01/12 20:25
→ LPH66: 噢, 或許 what() 裡冒號後面的就是傳進的字串本身 01/12 20:26
→ LPH66: 你能掌握到的所發送訊息當中有沒有 float 這種字放在 01/12 20:27
→ LPH66: 該是數字的欄位當中的? 01/12 20:27
→ LPH66: 問題源頭應該是來的訊息, 你也可以問一下發送方 01/12 20:27
→ LPH66: 有沒有可能把字串放進數字欄位裡的可能 01/12 20:27
→ soufon: 問發送方的訊息確實沒錯,不知道是不是 callback 在收的 01/12 22:19
→ soufon: 時候記憶體溢出造成參數跑掉嗎? 01/12 22:19
推 enthos: Linux:sigsetjmp()/siglongjmp() 01/13 03:48
→ enthos: Win: nirsoft Preventing application crash by using 01/13 03:48
推 alan23273850: 用 gdb debug 看看吧 01/13 09:20
→ soufon: 感謝en大,我加上了,但還是直接crash,沒有進入我的sig 01/13 12:22
→ soufon: _handler 我參考第三個連結 01/13 12:22
→ soufon: 是因為是開thread的關係嗎 01/13 12:25
→ soufon: 後來發現註冊後都回傳ignore.. 01/13 13:57
→ soufon: 設定好了,我再試試 01/13 15:22
→ soufon: 目前可抓到segment fault signal 01/13 15:22