在Mac上哪里使用回溯呼叫 我想从崩溃的C++ MAC应用中得到回溯,但是我对MAC是新的,我不确定如何最好地去执行它。

在Mac上哪里使用回溯呼叫 我想从崩溃的C++ MAC应用中得到回溯,但是我对MAC是新的,我不确定如何最好地去执行它。,c++,debugging,macos,backtrace,C++,Debugging,Macos,Backtrace,我发现一个关于stackoverflow的问题,详细说明了它的用法: 然而,我的问题是,我看不到代码的作用是什么 它放在main.cpp中吗 它生活在一个城市的捕获区吗 试一下挡块 我可以用一些完整的代码示例,但是我很难找到它们。另一个问题中提到的代码需要在崩溃后执行到哪里。根据发生的情况,如果抛出异常,则可能在catch块中发生,如果程序因seg故障或总线错误而崩溃,则可能在信号处理程序中发生 下面是一个捕捉信号的示例。它将进入main() 静态无效信号(int num){ //捕获信号时要执

我发现一个关于stackoverflow的问题,详细说明了它的用法:

然而,我的问题是,我看不到代码的作用是什么

  • 它放在main.cpp中吗
  • 它生活在一个城市的捕获区吗 试一下挡块

  • 我可以用一些完整的代码示例,但是我很难找到它们。

    另一个问题中提到的代码需要在崩溃后执行到哪里。根据发生的情况,如果抛出异常,则可能在catch块中发生,如果程序因seg故障或总线错误而崩溃,则可能在信号处理程序中发生

    下面是一个捕捉信号的示例。它将进入main()

    静态无效信号(int num){
    //捕获信号时要执行的代码
    }
    void InstallSignalHandler(常量int,其中[15]){
    对于(int i=1;i<15;i++)
    if(which[i]!=0&&which[i]!=SIGABRT)
    信号(其中[i],信号);
    }
    
    Its在应用程序空闲时发生总线错误。那么,有人能提供一个添加到信号处理程序的示例吗?
    static void CatchSignal(int num) {
    // code to execute when signal is caught
    }
    
    void InstallSignalHandler(const int which[15]) {
         for (int i = 1; i < 15; i++) 
             if (which[i] != 0 && which[i] != SIGABRT)
                signal(which[i],CatchSignal);
    }