Ngày xưa tôi thường sử dụng rất nhiều mã gỡ lỗi. Tôi gần như hoàn toàn nhắm mục tiêu vào Windows, vì vậy có rất nhiều hàm đầu ra chuỗi gỡ lỗi này mà tôi không nhớ cách đánh vần nữa, vì vậy tôi có thể ghi lại dấu vết bằng một chương trình cụ thể.
Một số mã gỡ lỗi được giữ nguyên vị trí, những thứ cụ thể được dự định để cung cấp cho các cuộc gọi lồng nhau. Tuy nhiên, mặc dù điều chuỗi gỡ lỗi hầu như không thể nhìn thấy trên một hệ thống sản xuất, nhưng tất cả vẫn được thực hiện trong quá trình biên dịch có điều kiện.
Mặc dù vậy, thực tế là tất cả các mã gỡ lỗi đó là rất nhiều nỗ lực cho một thứ được xử lý lý tưởng theo một cách khác - tất nhiên, sử dụng một trình gỡ lỗi. Vào thời điểm đó, tôi không ấn tượng lắm với trình gỡ lỗi Borland C ++. Các công cụ có ở đó, nhưng chúng thường đưa ra kết quả sai lệch và sử dụng trình gỡ lỗi không phải IDE (thường là cần thiết) có nghĩa là ghi nhớ các phím tắt, có nghĩa là mất tập trung trong công việc.
Trải nghiệm gỡ lỗi duy nhất tôi thấy tệ hơn là GDB dòng lệnh.
Tất nhiên, trở thành một chuyên gia với các công cụ bạn sử dụng là điều quan trọng - nhưng việc gỡ lỗi thực sự không nên là việc bạn làm mỗi ngày. Nếu bạn sử dụng trình gỡ lỗi thường xuyên, bạn sẽ ổn khi học hàng tá lệnh và / hoặc phím tắt, điều đó có vẻ hơi cờ đỏ đối với tôi.
Tuy nhiên, khi tôi làm việc trong Visual Studio 7, rõ ràng việc gỡ lỗi có thể rất thiết thực và hiệu quả. Nếu bạn có thể thực hiện việc sửa lỗi của mình trong Visual Studio (bao gồm các phiên bản thể hiện), việc gỡ lỗi rất dễ dàng. Không có nghi ngờ gì nếu bạn có thể tìm thấy giao diện người dùng GUI / IDE phù hợp, GDB cũng dễ dàng và hiệu quả, mặc dù tôi chưa thực hiện tìm kiếm đó.
Ngoài ra còn có điều gì đó để nói về thử nghiệm đơn vị, với phân tích bảo hiểm bằng cách sử dụng gcov. Bạn càng tin tưởng vào hành vi của các thư viện của mình, thì việc gỡ lỗi của bạn càng ít sâu sắc - và bạn càng ít cần trình gỡ lỗi ở nơi đầu tiên. Và viết bài kiểm tra đơn vị là khá hợp lý một cái gì đó bạn nên làm hầu hết các ngày.
Công cụ quan trọng bất ngờ = cmake, một công cụ xây dựng cho phép tôi dễ dàng chuyển đổi giữa xây dựng cho GCC và cho VC ++, trong số những thứ khác. Vì vậy, tôi có thể thực hiện kiểm tra đơn vị của mình và bảo hiểm dựa trên gcov bằng GCC, nhưng dễ dàng chuyển sang VC ++ để sử dụng trình gỡ lỗi.