【问题标题】:cLion & cMake not debugning/printing an errorcLion & cMake 不调试/打印错误
【发布时间】:2017-07-06 10:57:58
【问题描述】:

我刚刚了解到一个奇怪的问题。如果我在 Visual Studio 中运行此代码,我会得到 NULL/错误的输出。但是当我在 cLion 中运行时,我只是得到应用程序崩溃并且没有反馈。

VS 错误:

Exception thrown: read access violation.
this was nullptr.

这是我的配置:

main.cpp

#include <iostream>

using namespace std;

class testNothing {
public:
    testNothing *test;
    void donothing() { cout << test << endl; };
};

int main()
{
    testNothing *hey = nullptr;

    hey->donothing();

    return 1;
};

CMakeList.txt

cmake_minimum_required(VERSION 3.8)
project(tests)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(SOURCE_FILES main.cpp)
add_executable(${PROJECT_NAME} ${SOURCE_FILES})

【问题讨论】:

  • 当您似乎没有尝试过任何...时,不确定为什么将其标记为debugging?打印运行时错误的程序不是“调试”;你需要自己调用它。 SO 不是调试服务。

标签: c++ debugging cmake clion


【解决方案1】:

要接收反馈,您可以在“调试”模式下运行您的项目。

您可以从菜单栏进入运行 > 调试,或者直接按左上角的“错误”图标进入调试模式。

调试模式下的输出:EXC_BAD_ACCESS (code=1, address=0x0)

您还将获得相同的完整交互式堆栈跟踪。

【讨论】:

  • 鉴于在 OP 未尝试调试的情况下发布了多少问题,我认为最好只写一条评论,将它们链接到一个全面的调试教程,而不是发布答案。虽然这可以解释他们如何找到答案,但它本身并不是一个答案。
  • 感谢您提供有关调试的信息。我之前只用过python和pycharm/cline的“运行”功能。没有意识到有一个调试选项,因为我认为在我正常运行它时会发生这种情况。就像在 python 中一样。有点奇怪,它不是 1 和相同的动作...?
  • @Dariusz 这并不意味着相同的操作。运行时错误应在“运行时”显示。 :) 我可以理解缺少“调试”选项。如果这回答了您的问题,请将其标记为已接受!
猜你喜欢
  • 1970-01-01
  • 2017-06-06
  • 2017-09-29
  • 1970-01-01
  • 2018-03-27
  • 2022-12-10
  • 2023-01-27
  • 1970-01-01
  • 2017-09-15
相关资源
最近更新 更多