2016-06-02 5 views
1

애플리케이션과 함께 Google 브레이크 패드를 사용하려고합니다. 하지만 이렇게하는 동안 나는 buserror지고있다.Google 브레이크 패드를 사용하여 예외 처리기를 등록하는 동안 버스 오류가 발생했습니다.

샘플 응용 프로그램 :

#include<iostream> 
using namespace std; 

#include "client/linux/handler/exception_handler.h" 
static bool breakpadDumpCallback(const google_breakpad::MinidumpDescriptor& descriptor, void* context, bool succeeded) 
{ 
    return succeeded; 
} 


int main() 
{ 
    cout << "Hello World! \n"; 

    //Adding changes for google breakpad 
    static google_breakpad::ExceptionHandler* excHandler = NULL; 
    cout << "Here-----------! \n"; 

    // delete excHandler; 

    excHandler = new google_breakpad::ExceptionHandler(google_breakpad::MinidumpDescriptor("/opt/minidumps/"), NULL, breakpadDumpCallback, NULL, true, -1); 

    cout << "Registered Google Breakpad exceptionHandler\n"; 

    int *x = NULL; 
    *x = 10; 

    return 0; 
} 

나는 라인 아래에서 오류가 점점 오전 :

excHandler = new google_breakpad::ExceptionHandler(google_breakpad::MinidumpDescriptor("/opt/minidumps/"), NULL, breakpadDumpCallback, NULL, true, -1); 

출력 :

Hello World! 
Here-----------! 
Bus error (core dumped) 

내가 잘못 아무것도 건가요? http://fossies.org/linux/seafile-client/src/crash-handler.cpp

답변

0

정적 라이브러리 (libbreakpad_client : 그것은 여전히 ​​작동 코드를 만들려고하지 않는 경우

0

google_breakpad::MinidumpDescriptor(std::string("/opt/minidumps/")) 

을 시도하십시오 (정확하게) 가능한 한 많은 기존 작업 예와 일치합니다. a) 나는 호환되지 않는 것을 사용했다. 그래서 버스 오류를 보여줍니다. 나는 다른 것으로 그것을 대체했고 그것은 예상대로 일하고있다.