2008-09-08 42 views
17

Chúng tôi đang sử dụng Hệ thống Đội VS 2008 với bộ thử nghiệm tự động và khi chạy thử, máy chủ thử nghiệm "ngẫu nhiên" sẽ khóa. Tôi thực sự phải giết quá trình VSTestHost và chạy lại các bài kiểm tra để có được một cái gì đó xảy ra, nếu không tất cả các bài kiểm tra ngồi trong trạng thái "đang chờ xử lý".Visual Studio 2008 "ngẫu nhiên" bị treo khi chạy thử

Có ai gặp phải hành vi tương tự và biết sửa chữa không? Chúng tôi có 3 nhà phát triển ở đây trải qua cùng một hành vi.

+0

Bạn đã bao giờ tìm thấy bản sửa lỗi cho brocc này chưa? – Burt

+0

Nó đã biến mất với một máy tính để bàn mới – programmer

+0

Tôi cũng chạy trong vấn đề đó ngày hôm nay. Nếu VSTestHost.exe bị treo với 100% hãy thử BugFix này: http://stackoverflow.com/questions/1417021/vs2008-unit-test-pending-and-the-test-cannot-be-completed/1417154 –

Trả lời

2

Khi bạn nói khóa lên, bạn có nghĩa là VS thực sự bị treo hoặc thử nghiệm không chạy không?

Cách dễ nhất để theo dõi những gì đang xảy ra sẽ là xem xét kết xuất của quá trình treo. Nếu bạn đang sử dụng Vista, chỉ cần nhấp chuột phải vào quy trình và chọn tạo một kết xuất bộ nhớ. Nếu bạn đang sử dụng Windows XP và không cài đặt Debugging Tools for Windows, bạn có thể nhận được kết xuất bộ nhớ bằng cách sử dụng ntsd.exe. Bạn sẽ cần ID tiến trình mà bạn có thể nhận được từ Trình quản lý tác vụ bằng cách thêm cột PID vào màn hình tab Processes.

Khi bạn đã có, chạy các lệnh sau:

ntsd -p <PID> 
.dump C:\mydump.dmp 

Sau đó, bạn có thể kiểm tra một trong hai mà bãi sử dụng WinDBG and SOS hoặc nếu bạn có thể gửi các bãi chứa nơi nào đó tôi muốn được hạnh phúc để có một cái nhìn vào nó.

Trong mọi trường hợp, bạn sẽ muốn có khả năng mất hai bãi cách nhau khoảng một phút. Bằng cách đó, nếu bạn làm những việc như chạy trốn, bạn có thể thấy những chủ đề nào đang hoạt động sẽ giúp bạn theo dõi lý do tại sao nó bị treo.

Một câu hỏi khác - bạn có đang sử dụng VS2008 SP1 không?

2

Tôi sẽ thử chạy thử nghiệm từ dòng lệnh bằng cách sử dụng MSTest.exe. Điều này có thể giúp cô lập vấn đề với Visual Studio và ít nhất là cung cấp cho bạn một số phương pháp chạy thử nghiệm thành công.

+0

Tôi gặp vấn đề này trong VS2010. Hoạt động từ dòng lệnh, nhưng không phải trong VS. –

4

Điều này có thể liên quan đến một lỗi không rõ ràng khiến các bài kiểm tra đơn vị bị treo trừ khi tên máy tính là UPPERCASE. Crazy, tôi biết - nhưng tôi đã có vấn đề này và sửa chữa đã làm việc cho tôi.

Bug report trên MS Connect
Workaround trên MS Connect
TFS Blog Article về vấn đề này
HowTo chỉnh sửa registry để thay đổi tên máy tính của bạn

Phương pháp đơn giản nhất là để tinh chỉnh registry. Bạn cần phải chỉnh sửa hai phím:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName 
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName 

Thay đổi giá trị Tên máy tính là chữ hoa ở cả hai phím và khởi động lại. Kiểm tra sau đó kỳ diệu làm việc.

+0

WTF? Thật là kinh khủng. –

+1

Đó là những gì chúng tôi gọi là Thất bại sử thi: D –

+0

Hmm chúng đều là chữ hoa với tôi, nhưng thử nghiệm vẫn bị treo: ( –

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