GDB bị thiếu trong OS X v10.9 (Mavericks)


108

Tôi đã sử dụng GDB trong OS X v10.9 (Mavericks) và nó không có ở đó. Nó đã đi đâu?

# /usr/lib/gdb
-bash: /usr/bin/gdb: No such file or directory
# gdb
-bash: gdb: command not found

Tôi cũng đã khởi chạy Xcode 5.0.1:

Tùy chọn> Tải xuống

..và không còn công cụ dòng lệnh nào khả dụng - ffs!


Các công cụ dòng lệnh có sẵn, tại developer.apple.com/downloads/… Để đến đó, từ XCode, đi tới XCode> Open Developer Tool> More Developer Tools ...
Parker

CHỈNH SỬA: Không thành vấn đề, vì GDB cũng không có trong các công cụ dòng lệnh ...
Parker

3
Kể từ khi tôi hỏi câu hỏi này nhiều người đã hỏi những tùy chọn ./configure tôi đã sử dụng để làm việc này:./configure --prefix=/usr/local --enable-targets=x86_64-apple-darwin13.0.0 --enable-64-bit-bfd --disable-werror --build=x86_64-apple-darwin13.0.0 --host=x86_64-apple-darwin13.0.0 --target=x86_64-apple-darwin13.0.0
l'L'l

Câu trả lời:


142

gdbđã được thay thế bằng lldb, và không còn được hỗ trợ. gccllvm-gcccũng đã biến mất, được thay thế bằng clang.


2
có cách nào để sử dụng gdb mặc dù vẫn không?
tôi sẽ là

Không phải là tôi biết. Bạn có thể tự xây dựng nó (giả sử thông qua homebrew), nhưng tôi không biết nó sẽ hoạt động tốt như thế nào.
Catfish_Man

Xin chào ông Catfish, tôi đã làm việc. Nó chỉ yêu cầu biên dịch nó từ nguồn bằng lệnh ./configure chính xác :) thx!
tôi sẽ là

2
Tôi cũng tò mò về ./configure. Tôi đã xây dựng bằng cách sử dụng cài đặt mặc định và mọi thứ đều hoạt động ngoại trừ việc đính kèm vào các quy trình trực tiếp. Các ký hiệu bị sai và nó bị treo khi tôi ctrl-C.
RawwrBag

1
Tôi đã cài đặt qua brew và tiếp tục nhận được "_____: không ở định dạng thực thi: Định dạng tệp không được nhận dạng" khi tôi cố gắng tải tệp thực thi. Bất cứ ai có thể nhận xét về cách họ đã cài đặt thành công?
Parker

38

Bạn có thể cài đặt nó trên Mavericks với Homebrew.

brew install homebrew/dupes/gdb

brew install dupxgiữ nói với tôichecking for gdb... no
lajarre

1
Điều này không hiệu quả với tôi trên Maverics. Homebrew đã cho tôi một lỗi và có vẻ như có một số vấn đề mở với quá trình cài đặt.
Dan Bradbury

Điều này gần như đã hiệu quả với tôi, sau đó phàn nàn rằng GDB đã không được ký hợp lệ (khi tôi thực sự cố gắng gỡ lỗi điều gì đó với nó).
mpontillo

1
FYI: Điều này làm việc cho tôi. Tôi đoán những người khác nhau đang gặp mức độ khó khăn khác nhau với điều này. Nếu bạn có thể cài đặt nó, hãy đảm bảo bạn xem hướng dẫn ký tên tại đây .
Neil Traft

2
Tôi cũng gặp lỗi ký, nhưng nó đã được giải quyết khi tôi chạy mục tiêu sudo gdb.
Vlad Lifliand

9

Lệnh Homebrew này hoạt động để cài đặt các công cụ GDB trên Mavericks:

brew install https://raw.github.com/Homebrew/homebrew-dupes/master/gdb.rb

@ Sławosz brew install gdbdường như đang hoạt động (trên Mavericks).
amertkara

3

Cảm ơn tôi, tôi. Tôi đã sử dụng các tùy chọn ./configure của bạn và hoạt động như một sự quyến rũ. Bước tiếp theo là nói với OS X rằng chúng tôi cho phép GDB gỡ lỗi. Điều này được thực hiện bằng cách tạo một chứng chỉ thông qua chuỗi khóa, xuất nó và sau đó sudo codesing -s gdb-cert /route/to/gdb, cung cấp thông tin xác thực và chúng tôi đã hoàn tất.

Xem hướng dẫn chi tiết của GDB wiki


2

Tôi đã biên dịch GDB từ nguồn trong Maverics.

Tôi đã thay đổi makefile (sau ./configure) để loại bỏ một số lỗi mà lẽ ra phải được cảnh báo ... (đã thêm -Wno-string-plus-int)

Line 385:
CFLAGS = -g -O2 -Wno-string-plus-int

Line 388:
CXXFLAGS = -g -O2 -Wno-string-plus-int

Không biết cả hai có cần thiết không.

Nhưng

Hóa ra phiên bản tiêu chuẩn không hỗ trợ gỡ lỗi từ các tệp .app (nếu cần cho các ứng dụng Lazarus sử dụng giao diện Carbon)

Nếu bạn muốn tự mình làm theo liên kết này: https://sourceware.org/gdb/wiki/BuildingOnDarwin


Điều này có thể sẽ không hoạt động. Trước đây tôi đã thử và gdb được tạo ra không thể gỡ lỗi ứng dụng.
jww

Tôi cũng có thể biên dịch từ nguồn trên Mavericks, sau khi thiết lập CFLAGS = "- I / usr / local / include" nên nó đã chọn libintl.h. Đừng quên ký mã, nếu không gdb sẽ không hoạt động. Xem ntraft.com/installing-gdb-on-os-x-mavericks để biết thông tin về điều này. Kết quả cuối cùng của tất cả những điều này là gỡ lỗi thành công trong NetBeans (lý do chính của tôi để nhận được GDB).
Pete855217


1

Trong trường hợp của tôi, tôi đã làm cho nó hoạt động trên OS X với các bước sau:

  1. Thiết lập GDB Homebrew chính xác như được mô tả tại đây http://wiki.lazarus.freepascal.org/GDB_on_OS_X_Mavericks_and_Xcode_5

  2. Sau đó đặt gỡ lỗi thành Dwarf2 : Project -> Project Options .. Nhập mô tả hình ảnh tại đây

Nếu Run / Build bị treo sau đó khởi động lại máy tính (có tác vụ hoặc một số chứng chỉ quy trình khác có nhiều khả năng không được xác thực), gỡ lỗi cài đặt trở lại biên dịch và chạy "tự động (-g)" (hộp thoại xác thực xuất hiện và đăng nhập), sau đó thay đổi cài đặt gỡ lỗi thành "Dwarf2" và nó sẽ được biên dịch lại

Cố gắng luôn dừng GDB khi nó bị lỗi sau một hoạt động chạy để ngăn chặn lỗi xác thực này.


0

Bạn có thể cài đặt www.macports.org và cài đặt GDB. Tuy nhiên, bạn sẽ phải đợi trình cài đặt MacPorts cho Mavericks, vì tại thời điểm viết bài này, nó vẫn chưa được phát hành.


0

Khi tôi nhìn MacPorts vẫn chưa khả dụng cho Mavericks, nhưng bây giờ đã có!

Fink vẫn không.

Nhưng GDB tiêu chuẩn vẫn không hỗ trợ gỡ lỗi tệp .app.


-1

Chạy cái này để cài đặt các công cụ dòng lệnh:

xcode-select --install

4
CLT cho OS X 10.9 Mavericks không có GDB, đó là vấn đề OP đang cố gắng giải quyết.
Parker

-1

Các utils dòng lệnh không được bao gồm trong Xcode mới, nhưng bạn có thể tải nó theo các hướng dẫn sau. (Nhận xét chọn Xcode ở trên không phù hợp với tôi.)

Mở Xcode

Trong mục menu ứng dụng "Xcode", chọn Mở Công cụ dành cho nhà phát triểnThêm Công cụ dành cho nhà phát triển ...

Điều này sẽ đưa bạn đến một trang web có nhiều phần mềm. Hãy tiếp tục tải xuống và cài đặt "Công cụ dòng lệnh (OS X Mavericks) cho Xcode - Cuối tháng 10 năm 2013".

(Tín dụng cho Jore https://discussions.apple.com/message/23513040#23513040 )


7
CLT không có GDB cho 10,9
Parker

-4

Cài đặt Mac OS X v10.8 (Mountain Lion) với Xcode 4.6 trong một máy ảo và vui chơi)))

Tôi sử dụng VMware Fusion, nhưng bạn có thể dùng thử VirtualBox miễn phí . Bạn có thể tải các phiên bản MacOS cũ từ AppStore và phiên bản Xcode cũ từ trang Nhà phát triển Apple.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.