2012-12-04 10 views
6

Tôi hiện đang làm việc trên một phần mở rộng đơn giản cho Firefox. Bây giờ tôi muốn có thể phát hành một số lệnh trong một giao diện điều khiển trong ngữ cảnh phần mở rộng.Gỡ lỗi mã mở rộng trong firefox (javascript debugger/venkman)

Tôi đã cài đặt addon Javascript Debugger (Venkman) nhưng theo các hướng dẫn:

  • bỏ chọn "Loại trừ Application Files"
  • chọn tập tin và nhấn chuột phải "Set as Đánh giá Object"

không bao giờ đặt bối cảnh, tôi luôn luôn kết thúc (hoặc ở lại) trong ngữ cảnh venkman.xul.

tôi sẽ chuyển sang debugger khác, nhưng cho đến nay không có may mắn với chromebug một trong hai:

  • cài đặt chromebug 1.08a2 và phù hợp với firebug
  • bắt đầu firefox với -chromebug -P dev (như là một riêng biệt ' firefox 'for development)

sau đó chromebug trên cửa sổ riêng của nó không cho phép tôi chọn ngữ cảnh, trên thực tế nó thậm chí không hiển thị BẤT K context ngữ cảnh, tất cả các bảng đều bị vô hiệu hóa.

Tôi thực sự không có bất kỳ ý tưởng nào để tìm thêm bất cứ đâu và muốn có giải pháp. Hiện tại, tôi thậm chí không cần tất cả các công cụ gỡ lỗi 'ưa thích' như cài đặt điểm ngắt, chỉ cần ra lệnh ở cấp độ chrome.

Trả lời

12

Firefox hiện có trình gỡ lỗi được tích hợp sẵn mà các đối thủ dễ dàng và có thể vượt qua firebug, chromebug hoặc venkman.

You need to enable (or create) 2 particular options trong about:config gia hạn gỡ lỗi để làm việc:

devtools.chrome.enabled: true 
devtools.debugger.remote-enabled: true 

Và sau đó nhấp vào mới "Browser Debugger" mục trong menu Web Developer. "Bảng điều khiển trình duyệt" cũng rất hữu ích.

official documentation đề cập rằng điều này sẽ hoạt động từ Firefox 19, nhưng thực tế nó sẽ only work well on all extension code from Firefox 23 onwards. (Nếu bạn thử điều này trước khi Firefox 22 được phát hành, chỉ cần cài đặt the latest nightly build.)

Cũng lưu ý rằng nếu bạn là editing extension code directly, bạn sẽ cần Firefox để làm mới ví dụ: bằng cách sử dụng lại tất cả tiện ích mở rộng chrome bằng cách sử dụng the tips mentioned in this answer trước khi trình gỡ lỗi sẽ liệt kê mã được cập nhật.

Cập nhật: Firefox v32 và sau đó đã được xây dựng trong gỡ lỗi hỗ trợ cho restartlessSDK-based add-ons. Như stated in Mozilla's documentation, những "debug từ xa" được đề cập ở trên bây giờ có một hộp kiểm trong cài đặt Developer khung Web:

enter image description here

Sau đó bạn có thể đi đến add-ons -> tab Tiện ích và bấm vào nút "gỡ rối" bên cạnh tên của bạn mở rộng.