【发布时间】:2020-09-16 20:29:12
【问题描述】:
运行我的代码时,CLion 似乎没有向我显示任何异常。为了测试这一点,我创建了一个仅包含以下代码的新项目:
#include <iostream>
int main() {
std::cout << "--- One" << std::endl;
throw 6;
std::cout << "--- Two" << std::endl;
return 0;
}
这会导致以下输出:
C:\Users\david\CLionProjects\untitled\cmake-build-debug\untitled.exe
--- One
Process finished with exit code 0
如您所见,异常之前的代码被执行,而异常之后的代码没有被执行(如您所料)。但它没有显示有关异常的消息,而是显示“进程以退出代码 0 完成”,就好像没有发生异常一样。
在 Ubuntu 上编译和执行的相同代码(通过终端)显示错误消息。所以我认为问题出在 CLion 上。
如何解决这个问题,以便在我的代码中看到异常消息?
是否有任何设置可能导致这种行为?
我在带有 Cygwin 的 Windows 10 上使用 CLion。这是问题的截图:
【问题讨论】:
-
类似的问题,但没有回答:stackoverflow.com/questions/52623592/….
-
如果你几天后没有得到任何答复:请在youtrack.jetbrains.com/issues/CPP订票
-
1) 您使用哪个工具链来编译它? 2)尝试在普通命令提示符下运行可执行文件。
-
我正在用 Cygwin64 编译它。当我尝试在命令提示符中运行可执行文件时,由于缺少 dll 文件,我收到一条错误消息。我已经通过将 cygwin/bin 添加到路径变量来解决这个问题。现在的行为与 Clion 中的行为大致相同:执行异常之前的代码,并且命令提示符中也没有错误消息。所以我现在假设问题在于 Cygwin 而不是 Clion。我尝试过使用更新(和测试)版本的 g++ 和 gdb,但它没有改变任何东西。
-
当我在 Clion 中调试程序时,我在 Debug->Console 中得到以下输出: Signal: ? (未知信号)进程以退出代码 541541187 结束
标签: c++ cmake cygwin clion jetbrains-ide