C++ Debug chương trình, hiện lên rồi tắt?

Xin chào mọi người,
Mình dùng visual studio để chạy đoạn code dưới đây :

#include "iostream"

using namespace std;

int main()
{
	cout << "hello" << endl;

	return 0;
} 

Sau đó mình F5, cửa sổ hiện lên rồi tắt cái bụp, không hiện gì cả. Và cửa sổ Output hiện dòng này :

The program ‘[2128] Project6.exe’ has exited with code 0 (0x0).

Tuy nhiên mình debug và chạy bình thường khi dùng hàm void và system(“pause”). Mong mọi người giúp đỡ !

Ctrl + F5 hay F5 ???

Mình thử cả 2 luôn đó bạn.

Bạn ko dùng VS 2013 phải k?

Đặt breakpoint ở đâu thì Debugger dừng ở đó.

Mình dùng VS 2013 :smiley:

Mình không có đặt breakpoint @@, chẳng biết bị gì nữa

#include "iostream"

Ở chỗ này chăng. Sửa lại thành, chứ đặt trong dấu ngoặc kép thường là “abcxyz.h”.

#include <iostream>

P/S: :stuck_out_tongue: vừa thử, để trong “” vẫn chạy ok lol.

“” với <> như nhau mà bạn :smiley:

Sửa thành vầy thử

cout << "Hello World!\n";
cout.flush();

cái end1; là nó đóng cửa sổ luôn thì phải

Code chạy vậy là đúng rồi đó bạn.
Mình đoán là bạn dùng Visual studio.

  • Khi nhấn F5 thì nó chạy ở chế độ debug. Khi chạy xong chương trình không có lỗi thì nó sẽ tự tắt luôn. ( exited with code 0 là chạy không có lỗi nha)
  • Nhấn Ctrl + F5 thì nó chạy ở chế độ Run. Chạy xong thì nó sẽ hiện lên cửa sổ Console yêu cầu bạn nhấn phím bất kỳ để tắt.

Nói chung là không sao cả.

1 Like

Mà khi mình Ctrl + F5 thì nó cũng hiện lên rồi tắt mất. Phải chăng bộ visual của mình bị lỗi ? :frowning:

chọn Project -> Properties rồi vào Linker->System sửa Subsystem thành Console (/SUBSYSTEM:CONSOLE) là ctrl+f5 nó dừng được

lần sau New project thì chọn Win32 Console Application, lúc trước khi nhấn Finish thì tick vào ô Empty project là được

5 Likes

Bạn có bảo là không đặt breakpoint, vậy thì chương trình chạy như thế là đúng rồi. Chương trình hiển thị hello của bạn không có lệnh dừng chương trình để xem nên khi debug nó sẽ chạy hết chương trình như kết quả mà bạn đang gặp. Còn nếu bạn muốn debug mà nó dừng lại cho bạn xem thì bạn có thể đặt breakpoint tại dòng bất kỳ rồi nhấn F10 để cho chạy từng dòng lệnh để xem kết quả

1 Like

Cái này mình ngĩ là do chương trình bạn chạy đúng, nhưng bạn chỉ cho nó xuất ra mà không làm gì thêm, nó chạy xong return 1 cái là kết thúc luôn.
Vì vậy bạn có thể pause lại trước khi return

#include "stdafx.h"
#include <cstdlib>

int _tmain(int argc, _TCHAR* argv[])
{
	printf_s("abc");
	system("pause");
	return 0;
	
}

2 Likes

thêm lệnh : system(“pause”);

1 Like

Cảm ơn bạn nhiều lắm :smiley:

1 Like

mình cũng bị lỗi này, dùng getch(); hay _getch(); đều ko đc, đành phải khai báo thêm thư viện #include;
rồi dùng system(“pause”); ở cuối cùng là dừng luôn.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?