2008-11-26 46 views
13

Tôi có Firefox làm trình duyệt mặc định trên máy tính của mình và khi tôi bắt đầu gỡ lỗi từ studio trực quan, Firefox khởi chạy như tôi mong đợi và tất cả các thuộc tính của trải nghiệm giống như IE ngoại trừ một điều - khi tôi đóng trình duyệt. Khi sử dụng IE, khi tôi đóng cửa sổ trình duyệt trực quan sẽ tự động tắt trình gỡ lỗi. Khi tôi đóng FF tôi không nhận được hành vi này - không ai biết làm thế nào để làm cho điều này xảy ra?Gỡ lỗi VS2008 bằng firefox làm trình duyệt mặc định - cách làm cho trình gỡ rối dừng/đóng khi thoát?

Trả lời

12

Lý do cho hành vi này rất đơn giản: Visual Studio tự gắn nó vào quá trình được gỡ lỗi và sẽ thoát khỏi chế độ chạy nếu thấy quá trình chấm dứt. FireFox không tạo ra một quy trình mới mỗi khi một cửa sổ được khởi động: nó sẽ sử dụng lại quá trình hiện có. IE có thể tạo một cái mới cho mỗi cửa sổ (tùy thuộc vào các thiết lập tùy chọn). Nếu bạn đã có FF đang chạy và bạn khởi chạy một ứng dụng để được gỡ lỗi, cửa sổ ứng dụng được tạo trong quá trình hiện tại và VS gắn vào quá trình đó. Khi bạn đóng cửa sổ ứng dụng, quá trình sẽ không kết thúc vì nó vẫn hoạt động đối với các cửa sổ đã tồn tại từ trước. Lần sau nó xảy ra gần tất cả các cửa sổ FF khác và bạn sẽ thấy Visual Studio thả ra khỏi chế độ chạy gỡ rối. Nếu có một cách để nói với FireFox để tạo ra một quy trình mới cho một cửa sổ mới thì vấn đề này sẽ biến mất. Tôi đã không tìm thấy bất kỳ cách nào đáng tin cậy hợp lý để làm điều đó.

+0

Tôi đã có kinh nghiệm khi gỡ lỗi một ứng dụng bằng cách sử dụng VS 2008 nó sẽ mở ra một cửa sổ FF mới cho mỗi lần F5 được nhấn (gỡ lỗi bắt đầu).Tôi tự hỏi nếu nó có thể sử dụng cửa sổ FF đã mở hiện có để gỡ lỗi. – azamsharp

+2

@Mark - Tôi bắt đầu gỡ lỗi với Firefox không chạy chút nào (được xác minh trong Trình quản lý Tác vụ). Bắt đầu gỡ lỗi và Firefox khởi động. Giết Firefox (một lần nữa, đã được xác minh trong Trình quản lý Tác vụ) và trình gỡ rối không dừng lại. – Emilio

0

Thử gắn trình gỡ lỗi vào quy trình FireFox thay thế!

Trong VS (2008) chọn tùy chọn Menu Gỡ lỗi -> Đính kèm vào Quy trình rồi chọn firefox.exe - nếu bạn không thấy quy trình này, bạn có thể phải đảm bảo 'Hiển thị quy trình trong tất cả các phiên'.

Tôi đã chạy điều này và xác minh rằng nó hoạt động. Tôi cũng xác minh rằng đóng FireFox thông qua gỡ lỗi ứng dụng không hoạt động, nếu Firefox được đặt làm trình duyệt mặc định trong VS 2008.

+1

Tôi không nghĩ rằng điều này đang làm những gì bạn nghĩ. –

+0

Tôi không biết, bạn nghĩ nó đang làm gì? Tôi chạy nó cả hai cách, và nếu bạn đính kèm trình gỡ rối thông qua "ATTACH TO PROCESS" trong trình đơn gỡ lỗi trong Visual Studio, điều đó không hoạt động. Nếu bạn thiết lập trình duyệt mặc định của mình thành Firefox, thông qua cài đặt, nó không hoạt động. Sử dụng "đính kèm vào quá trình", nó hoạt động .... – D3vtr0n

+1

Hãy suy nghĩ cẩn thận ... Nếu bạn đang gắn nó vào quá trình firefox thì mã nào đang được gỡ lỗi? Thông thường khi nói về gỡ lỗi trong studio trực quan và trình duyệt web, kịch bản này đang gỡ lỗi một ứng dụng web. – Min

1

Nhấp chuột phải vào bất kỳ trang .aspx nào và chọn tùy chọn "Duyệt với ..." ở đó bạn có thể thiết lập trình duyệt mặc định

9

Để thêm vào câu trả lời Mark's, bạn có thể thiết lập cấu hình "gỡ lỗi" cụ thể cho firefox và sau đó thay đổi thuộc tính/web của dự án, chọn "bắt đầu chương trình bên ngoài" và duyệt tới firefox.exe và đặt đối số dòng lệnh '-no-remote -P "MyDebugProfile"'.

Để quản lý hồ sơ của bạn, hãy bắt đầu (từ dòng lệnh) firefox như thế này:

c:\> <installation path of ff>\firefox.exe -profilemanager 

Ở đó, bạn tạo một hồ sơ mới (cho phép nói "debug")

Để bắt đầu một quá trình mới của FF với tiểu sử này (nghĩa là những gì bạn đặt cho VS):

c:\> <install path to ff>\firefox.exe -no-remote -P "debug" "http://mysite" 

Lưu ý rằng thông số "-P" phân biệt chữ hoa chữ thường.

+0

+1, tôi vừa thử điều này và nó hoạt động. Cảm ơn vì tiền hỗ trợ! – technomalogical

+0

không hoạt động đối với tôi ... – Tufo

+0

@Tufo - những gì không hoạt động? –

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