哪里可以看到Clion的异常消息

时间:2016-04-08 00:07:06

标签: clion

我在CLion中运行以下代码:

int main()
{
    char amessage [] = "oafaojfpa";
    char * pmessage = "oafaojfpa";
    char * apmessage = amessage;

    amessage[2]='X';
    *(pmessage+2)='X';

    printf(amessage);
    printf("\n");
    printf(pmessage);
    printf("\n");
    printf(apmessage);

    return(0);
}

代码*(pmessage+2)='X';应该引发异常。但是,输出是:

/Users/spacegoing/Library/Caches/CLion12/cmake/generated/1ab7f406/1ab7f406/Debug/TCPL_Learn

Process finished with exit code 10

CLion只说退出代码10.但​​我在哪里可以查看异常消息?

1 个答案:

答案 0 :(得分:0)

只有c ++代码才会抛出异常。在这种情况下,您遇到了低级错误。您会看到C / OS返回值10,即BUS ERROR。

现在在x86上很少出现总线错误,并且当您的处理器甚至无法尝试请求的内存访问时发生错误,通常是:

  • 使用处理器指令,其地址不满足其对齐要求。
  • 修改只读内存

指针pmessage指向字符串文字。此字符串存储在只读内存中,尝试修改此内存会导致未定义的行为。它通常是段错误或总线错误。