2009-06-16 14 views
6

Tôi đang cố gắng gỡ lỗi một số thành phần COM và muốn theo dõi CLSID và IID trong các cuộc gọi đến CoCreateInstance.Tôi có thể hiển thị GUID trong windbg không?

Tôi không chắc chắn cách hiển thị GUID trong windbg. Bất kỳ con trỏ nào cho điều đó.

Trả lời

6

Sử dụng "kiểu hiển thị" lệnh:

dt GUID [address-of-guid] 

Để biết thêm thông tin xem các documentation.

Nếu nó nằm trong biến cục bộ (cục bộ vào khung ngăn xếp bạn đang dùng), hãy sử dụng dv /V để đổ tất cả các biến cục bộ.

+1

Cảm ơn con trỏ, nhưng lệnh này cần được tinh chỉnh một chút. Sau đây sẽ hoạt động dt nt! _GUID địa chỉ-of-guid. – anand

+0

Vâng, nếu bạn không nói với nó nt! nó sẽ tìm kiếm tất cả các mô-đun đã tải cho đến khi nó tìm thấy nó. Và, yeah, tôi đoán GUID biến thành _GUID. Nắm bắt tốt. –

0

Tôi không biết gì về COM, nhưng nếu điều này chỉ là một biến bình thường (ngay cả khi đó là một cái toàn cầu), sau đó bạn luôn có thể làm:

alt + 2 để đưa lên cửa sổ đồng hồ và nhập tên của biến đó, ví dụ như

blahblah.dll! guid

Bạn sẽ cần những biểu tượng cho rằng, có thể cần t được ở chế độ nguồn là tốt. Điều này là đẹp hơn một chút so với dv/dt trong đó bạn không cần phải gõ nó liên tục. Bạn có thể nhập địa chỉ là tốt, tôi nghĩ. Lưu ý rằng nếu bạn không đặt blahblah! sau đó nó đôi khi có thể gây ra windbg để gian hàng trong một vài giây vì nó tìm kiếm tất cả các mô-đun cho một cái gì đó gọi là guid.