Gần đây tôi đã xem qua this project. Mã này phần lớn được viết bằng C và API chỉ bao gồm một vài hàm C. Thật không may là dự án dường như chứa một số lỗi, đặc biệt là tôi tiếp tục nhận được lỗi "miễn phí đôi hoặc tham nhũng". Tôi đang cố gắng sử dụng valgrind và gdb để tìm hiểu những gì là sai. Vấn đề dường như nằm trong bộ cấp phát bộ nhớ. Rất tiếc, lỗi valgrind đầu tiên xảy ra trong một số macro tiền xử lý dài ~ 400 dòng được xác định trong tiêu đề. Thật không may gdb không thể phá vỡ mã được tạo ra. Theo dõi ngăn xếp không phải là rất hữu ích hoặc. Có kỹ thuật nào có thể được sử dụng để đối phó với các loại lỗi này không?Cách gỡ lỗi macro tiền xử lý
6
A
Trả lời
1
Trình biên dịch trực tuyến Wandbox.org có chế độ "CPP" rất hữu ích để thử nghiệm với bộ tiền xử lý C.
Xem ví dụ ở đây: https://wandbox.org/permlink/tFUsKMIXaQj8hhte
Bạn có thể làm điều tương tự ẩn, với gcc -P
hoặc cl.exe /E
Các vấn đề liên quan
- 1. Gỡ lỗi bộ tiền xử lý C++
- 2. Đếm các macro tiền xử lý
- 3. Macro đa dòng tiền xử lý
- 4. Macro tiền xử lý cho Apple Watch?
- 5. Macro tiền xử lý C xác định Macro
- 6. xcodebuild - cách xác định macro tiền xử lý?
- 7. Cách tạo chuỗi từ macro tiền xử lý
- 8. Mở rộng macro tiền xử lý cho một chỉ thị tiền xử lý khác
- 9. C/C++ tiền xử lý Lỗi
- 10. Cụm từ thông dụng trong macro tiền xử lý C
- 11. Xác định macro tiền xử lý thông qua cmake
- 12. Xác định bên ngoài Macro tiền xử lý trong GLSL
- 13. Mở rộng Macro tiền xử lý trước không mong muốn
- 14. CocoaLumberjack with Swift - Gọi các macro tiền xử lý
- 15. Macro tiền xử lý XCode cho cấu hình?
- 16. Trình tiền xử lý C: mở rộng macro trong #warning
- 17. với xcode, cách xác định macro tiền xử lý từ đầu ra của lệnh?
- 18. Có thể cho các macro tiền xử lý C chứa các chỉ thị tiền xử lý không?
- 19. C tiền xử lý: xâu chuỗi macro và nhận dạng macro
- 20. Cách xác định macro tiền xử lý C++ thông qua dòng lệnh với CMake?
- 21. CMake: Làm cách nào để chuyển các macro tiền xử lý
- 22. SWT - Cách gỡ lỗi "Không còn xử lý"
- 23. C++ Ngoại lệ chưa xử lý - cách gỡ lỗi
- 24. Xử lý một phần tệp bằng bộ tiền xử lý
- 25. Làm cách nào để có được đầu ra của bộ tiền xử lý của Erlang?
- 26. Biến tiền xử lý C++
- 27. mục đích của macro tiền xử lý được xác định trong tệp linux/compiler.h là gì?
- 28. Lỗi SWIG vì chỉ thị tiền xử lý
- 29. python regex để khớp với macro tiền xử lý đa dòng
- 30. Thêm macro tiền xử lý vào mục tiêu trong xcode 6
Nếu nó đã được tôi? Chuyển đổi macro thành một hàm nội tuyến. Nếu dự án thực sự sử dụng chúng rộng rãi (và điều đó không làm tôi sợ sử dụng mã), tôi có thể thử xử lý trước một tệp, sau đó biên dịch và gỡ lỗi tệp đó. –
400 + dòng macro Oo! Cố gắng tạo ra nguồn c sau khi vượt qua tiền xử lý (tùy chọn gcc -E) và thiết lập các điểm ngắt trong tệp này. – Picodev
Vâng, họ xác định hàng đợi ưu tiên chung "đường C": ( – hfhc2