2012-03-08 25 views
6

Tôi đọc this article về một số nền tảng cấp thấp của C/C++, và tác giả về cơ bản cho chúng ta thấy thông qua mã lắp ráp được tạo bởi trình biên dịch, từng dòng một. Ông đang sử dụng VS 2010, nhưng tôi không, tôi sử dụng Code :: Blocks. Làm thế nào để tôi xem bản tháo gỡ ở đó? Khi tôi đi đến Debugger, và nhấp tháo, nó cho thấy tôi một cửa sổ trống ...Làm thế nào để xem việc tháo gỡ trong Mã :: Khối?

Đây là C++ (cpp) mã (toàn bộ mã) Tôi biên soạn:

int main() 
{ 
    int x = 1; 
    int y = 2; 
    int z = 0; 

    z = x + y; 

    return 0; 
} 
+1

Nếu bạn chỉ quan tâm đến việc lắp ráp và không phải là Code Blocks, bạn có thể sử dụng 'gcc -S' và nó sẽ tạo ra một tập tin lắp ráp trên các dòng * .s, * .asm –

+0

Cool, tôi sẽ khởi động Linux và làm điều đó. Nhưng tôi muốn biết làm thế nào để làm điều này. – corazza

Trả lời

6

Các loại tháo gỡ mà tác giả cho thấy trong bài viết được gọi là inter-leaved disassembly (C và tháo gỡ xen kẽ) mà một vài IDE như hỗ trợ Visual Studio. Các khối mã không hỗ trợ. Nhưng Mã Blocks có một cửa sổ riêng biệt tháo gỡ như thế này

Diassembly Window

Chọn một dòng mã nguồn. Click chuột phải. Nói Run to Cursor. Bây giờ Debug->Debugging Windows->Disassembly. Thay vì Run to cursor bạn cũng có thể thiết lập các điểm break và sau đó làm điều này. Nhưng bằng cách nào đó nó đã không được tốt với tôi, vì vậy tôi đề xuất phương pháp Run to Cursor.

Hy vọng điều đó sẽ hữu ích.

+0

Tôi không thể tìm thấy lệnh 'Chạy tới con trỏ'. – corazza

+1

OK. Cho phép đồng bộ hóa ngay từ đầu. Tôi dwlded Code Blocks từ đây- http://sourceforge.net/projects/codeblocks/files/Binaries/10.05/Windows/codeblocks-10.05mingw-setup.exe/download 'File-> New-> Project-> Console Ứng dụng -> C++ -> Nhập Project Title-> GNU GCC Compiler-> Finish' Bây giờ, 'Build-> Build'. Bây giờ đặt con trỏ @ line 7 trong 'main.cpp'. Nhấp chuột phải và nói 'Chạy tới con trỏ'. Bây giờ cửa sổ bật lên hỏi bạn có muốn lưu phối cảnh không. Nói không! Bây giờ, làm như được giải thích trong câu trả lời –

+0

Cool. Sẽ tải xuống ... – corazza