2017-07-06 33 views
0

我有,我剛剛得知一個奇怪的問題。如果我在Visual Studio中運行此代碼,則會得到空/錯誤的輸出。但是當我在cLion中運行時,我只是碰到應用程序崩潰而沒有反饋。克利翁和CMake的不debugning /打印錯誤

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}) 
+0

不知道爲什麼你這個標記爲'debugging'當你似乎沒有嘗試任何......?打印運行時錯誤的程序不是「調試」;你需要自己調用它。 SO不是調試服務。 –

回答

1

要接收反饋,您可以運行您的項目處於「調試」模式。

你可以去運行>從菜單欄調試,或只需按下左上角的「錯誤」圖標進入調試模式。

輸出在調試模式:EXC_BAD_ACCESS (code=1, address=0x0)

你也將得到同樣的完全互動的堆棧跟蹤。

+1

鑑於在OP沒有嘗試調試的地方發佈了多少個問題,我認爲最好只寫一個評論,將他們鏈接到一個全面的調試教程,而不是發佈答案。雖然這可能解釋他們如何找到答案,但它本身並不是一個答案。 –

+0

感謝有關調試的信息。我以前只用過python和pycharm/cline的「run」函數。沒有意識到有一個調試選項,因爲我認爲正常運行時發生了這種情況。就像在python中一樣。有點奇怪,它不是1和相同的行動壽?...? – Dariusz

+0

@Dariusz這並不意味着要採取同樣的行動。運行時錯誤意味着在「運行時」顯示。 :)我可以理解錯過了'調試'選項。 如果這回答您的問題,請將其標記爲已接受! –