2009-04-14 44 views
7

Chủ yếu là tôi đã thực hiện phát triển phần mềm cơ bản (người mới) trên máy Windows, nhưng tôi luôn có MS Visual Studio để giúp tôi bước qua quá trình gỡ lỗi.Gỡ lỗi trên Linux cho Windows Developer

Bây giờ, có vẻ như tôi sẽ sử dụng Linux, vì vậy để sẵn sàng cho bước nhảy, tôi muốn đảm bảo rằng tôi có một công cụ/công cụ được xếp hàng để giúp tôi duyệt qua mã và gỡ lỗi.

Thật không may khi tôi đã hỏi bằng cách hỏi mọi người về cách họ gỡ lỗi trên Linux, tôi thường nhận được câu trả lời sau, "Ồ, tôi chỉ cần đặt một loạt các câu lệnh in." CHÚA ƠI! Không có cách nào bạn nói, nhưng có đó là câu trả lời của họ.

Vì nó là trên Linux, và sẽ làm việc với mã C++ trên hệ điều hành CentOS 32-bit, tôi hy vọng đây là giải pháp OpenSource được ưu tiên. Vì vậy, tôi đoán tôi yêu cầu IDE OpenSource ưa thích cho mã C++ trên CentOS Linux.

Cảm ơn mọi thông tin chi tiết và đề xuất.

Trả lời

5

tôi sẽ đề nghị sử dụng Eclipse

Eclipse là một IDE trưởng thành với nhiều hỗ trợ sẵn.

Ngoài ra còn có Code::Blocks nếu bạn muốn thử một cái gì đó khác nhau

+0

Code :: Blocks sử dụng GDB nội bộ là tốt, tôi đã tìm thấy GDB một mình để được ít đau đớn để gỡ lỗi so với C :: B's. –

+0

Wow - Không bao giờ mong đợi tất cả những phản ứng tuyệt vời này. Bây giờ tôi phải tìm thời gian và tận dụng cơ hội để thử nghiệm với tất cả những ý tưởng này. Tôi có thể sẽ bắt đầu với Eclipse và xem liệu tôi có thể coax cơ sở mã Linux hiện tại thành một IDE, mà chưa bao giờ được thực hiện trước đó hay không và có rất nhiều tệp và rất ít tài liệu hiện có hoặc chính xác - rất tiếc là không có * .dsw hoặc hiện tại không gian làm việc hoặc giải pháp: (Tôi đoán bước tiếp theo sẽ xem làm thế nào để có được con thú mã này để làm việc trong một IDE. Cảm ơn một lần nữa cho tất cả các câu trả lời họ thực sự tuyệt vời. – JustADude

4
  • Eclipse
  • NetBeans
  • KDevelop
7
2

Luôn luôn có GDB. XCode cho OSX sử dụng GDB nội bộ để gỡ lỗi.

2

Valgrind, là bạn của bạn và có thể giúp bạn tránh phải chịu đựng dù GDB.

1

Anjuta là một IDE thực sự tuyệt vời cho GNOME. Để gỡ lỗi, nó sử dụng GDB trong nội bộ.

6

Một vài năm trước, tôi đã chuyển từ VS sang môi trường emacs/make type và tôi chưa bao giờ nhìn lại.

Ý tưởng là sử dụng makefile để xử lý bên quản lý dự án của IDE và tôi sử dụng emacs + gdb để chỉnh sửa và gỡ lỗi. Nó sẽ đưa bạn một thời gian để làm quen với emacs nhưng nếu bạn dính vào nó nó cũng có giá trị nỗ lực. Một khi bạn đã bắt đầu emacs, nhấn "Ctrl + H" theo sau là "t" và điều này sẽ đưa bạn đến trang hướng dẫn.

Sau khi bạn đã nắm vững các khái niệm cơ bản, bạn có thể gỡ lỗi chương trình theo cách tương tự với bất kỳ giao diện IDE/trình gỡ rối nào. Tôi phải thừa nhận rằng ngay cả sau khi tất cả thời gian này, tôi vẫn sử dụng một tập hợp các bản đồ phím VS mà tôi thiết lập khi tôi lần đầu tiên chuyển đến emacs!

(global-set-key [f7] 'compile)   ;; Run the compile command 
(global-set-key [f4] 'next-error)  ;; The next compile error 
(global-set-key [S-f4] 'previous-error) ;; The previous compile error 
(global-set-key [f5] 'gdb)    ;; Start the debugger 

Các bộ sau khi "VS" ánh xạ chìa khóa dẫn đến GDB khác nhau lệnh mà bạn có thể sử dụng:

(add-hook 'gud-mode-hook 
    '(lambda() 
    (define-key (current-local-map) 
     [f10] 
     'gud-next) 
    (define-key (current-local-map) 
     [f11] 
     'gud-step) 
    (define-key (current-local-map) 
     [\S-f11] 
     'gud-finish) 
    (define-key (current-local-map) 
     [f5] 
     'gud-cont) 
)) 

Với keymappings trên, tôi nhấn 'f5' mà nhắc nhở tôi để chạy gdb (và lệnh này tôi thêm nhị phân tôi muốn gỡ lỗi). Khi gdb được tải, bạn nhấn 'f5' để tiếp tục, 'f10' để chuyển sang bước 'f11' thành bước-vào và 'áo + f11' thành bước ra.

Cuối cùng, mỗi lần bạn bắt đầu 'gdb', nó sẽ đọc một tệp có tên '.gdbinit' trong thư mục chính của bạn. Một câu hỏi StackOverflow khác đã có số answer này đã thu hút sự chú ý của tôi stl-views. stl-views là một tập hợp các hàm trợ giúp cho gdb cho bạn thấy nội dung của các loại container STL khác nhau. Bạn có thể tìm thấy hướng dẫn về cách sử dụng nó ở đầu liên kết.

1

Nếu bạn chỉ muốn một trình gỡ lỗi tốt, hãy xem DDD.

0

Tôi sử dụng kết hợp gdbcscope khi gỡ lỗi trên linux.

Các vấn đề liên quan