2
나는 아래와 같은 몇 가지는 C 문제 ++ 코드의 조각 데 :디버깅 기호없이 외부 라이브러리에서 어떤 예외가 발생하는지 어떻게 결정합니까?
try {
/* some code here */
} catch(...) {
/* ... */
}
나는 gdb를 try 블록과 어떤 점 뭔가에 포함 된 코드를 단계별로있어가 발생되고있다 . throws 함수 호출이 라이브러리에서 가져오고 관련된 디버깅 기호가 없기 때문에 실제로 무엇인지 알 수 없습니다.
gdb가 catch 블록에서 무엇이 잡히고 있는지 판단 할 수있는 방법이 있습니까?
catch 문에서 예외를 인쇄 해 보았습니까? 어쩌면 예외가 어디에서 왔는지 더 명확하게 이해할 수 있습니다 (심지어 gdb를 사용하지 않고) –
라이브러리가 공개 된 API (throw되는 것을 포함하여)를 문서화하지 않으면 다른 라이브러리 선택을 강력하게 고려해야합니다. –