2
我具有類似於下面的一個一些問題,一個C++代碼段:如何確定在沒有調試符號的情況下從外部庫引發什麼異常?
try {
/* some code here */
} catch(...) {
/* ... */
}
我通過包含在與GDB try塊和在一些點東西代碼步進被拋出。我無法真正知道它是什麼,因爲拋出的函數調用來自庫並且沒有與之關聯的調試符號。
gdb是否有辦法確定在catch塊中被捕獲的是什麼?
您是否嘗試過在catch語句中打印異常?也許這會讓你更清楚地瞭解異常來自哪裏(即使不使用gdb) – 2012-07-25 14:36:03
如果庫沒有記錄它的公共API(包括它拋出的),你應該*強烈*考慮做出不同的庫選擇。 – 2012-07-25 14:58:14