Debug trong Codeblock

Mình lớp 12 và mới chuyển từ Pascal sang học C++ trên Codeblock (mục đích chỉ để giải bài tập để thi hsg chứ chưa biết viết phần mềm) . Từ trước tới giờ mình toàn debug bằng cách in các biến ra màn hình để soi chứ ko dùng debug sẵn của IDE. Thế nên sinh ra chuyện gặp runtime error trong codeblock là chịu toàn phải tính toán xem lỗi ở chỗ nào rồi chạy xung quanh chỗ đó (vì freepascal gặp exit code nó trỏ luôn vào dòng lệnh gây ra @@). Mọi người ai rõ về codeblock giúp mình vấn đề này với và chỉ hộ mình tại sao phải dùng debug của ide trong khi mấy cái nextline hay watch đều có thể in ra để nhìn

Debug next line giúp bạn tìm ra lỗi thuật toán nhanh hơn.

This post was flagged by the community and is temporarily hidden.

Nghĩa là khi mình quan tâm một số biến nào đó mình ko dùng watch mà printf ra màn hình để xem nó thay đổi thế nào luôn ý

Bạn có thể in ra nhưng bạn không thể hiểu được. ví dụ trong các chương trình phức tạp gọi “đệ quy” hoặc “nhiều vòng for” lồng nhau.

thực ra là có hiểu được đã in là in bằng hết in rõ kiểu “sau dòng này abc_ tên biến_giá trị”

Và sau khi bạn debug bạn phải comment các dòng đó lại??

hiển nhiên và đấy cũng là lí do quên comment khi nộp bài online

Trong những bài có vòng for lớn khoảng vào 10000000 thì việc in ra mà hình để xem lỗi thuật toán là bất khả thi nhá bạn.

thì việc nextline cũng là bất khả thi?? hay có thể skip một số đoạn

Có thể Skip một số đoạn, bằng F4

Bạn có thể đặt breakpoint (hình tròn màu đỏ) sau số dòng code, cách đặt thì click vào khoảng trống sau số dòng đó thôi :slight_smile: , sau đó nhấn nút trong khung màu đỏ.

Sau đó bạn có thể vào watches để xem các biến chứa dữ lieu bao nhiêu, muốn next line thì nhấn F7 hoặc nhấn vào nút màu đỏ dưới đây :wink:

Còn lý do: vô số kể :stuck_out_tongue:, các bạn trên cũng nói 1 phần lớn rồi :wink:

ok cảm ơn các bạn thế nhưng vấn đề gặp exit code thì sao có cách nào để tìm ra vị trí sinh lỗi giống như trong pascal ko?

Khi gặp exit code bạn nextline sẽ thấy đuợc lỗi ở đâu và nguyên nhân gây lỗi

This post was flagged by the community and is temporarily hidden.

Cách debug trong codeblocks là xài Visual Studio 2015 community edtion…

Nếu trên Linux thì gdb mới có hiệu quả, còn Windows thì xin dẹp

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