Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Hỗ trợ cho Windows Vista gói dịch vụ 1 (SP1) kết thúc vào ngày 12 tháng 7 năm 2011. Để tiếp tục nhận các bản Cập Nhật bảo mật cho Windows, hãy đảm bảo bạn đang chạy Windows Vista với gói dịch vụ 2 (SP2). Để biết thêm thông tin, hãy tham khảo trang web Microsoft này: hỗ trợ kết thúc cho một số phiên bản của Windows.

Tóm tắt

Ký hiệu gỡ lỗi Windows phải được kiểm tra sau khi khởi động trình gỡ lỗi lõi (I386kd.exe | WinDbg.exe). trình gỡ lỗi có thể tải và hiển thị dấu nhắc, nhưng nếu biểu tượng không chính xác, lệnh gỡ lỗi trong tương lai tham chiếu không đúng chức năng và biến, dẫn đến kết quả không thường xuyên. Dưới đây là một số cờ đỏ và một số phương pháp điểm kiểm tra giá trị của các biểu tượng.

Thông tin Bổ sung

Bài viết này giả định gỡ lỗi hạt nhân đang chạy và đã nạp tệp Memory.dmp hoặc được kết nối với một máy tính từ xa. Lệnh trình bày không đầy đủ tài liệu và chỉ trích từ kết quả được hiển thị.

Nội dung bài viết

  • Tải trình gỡ lỗi hạt nhân

  • Kiểm tra thời gian tạo! trình điều khiển

  • Sử dụng Link.exe để kiểm tra tạo

  • Unassembling một chức năng

  • Dịch vụ gói biểu tượng

Tải trình gỡ lỗi hạt nhân

Tải bình thường của lõi gỡ Hiển thị một thông báo sau:

KD > Hệ thống đơn bộ xử lý 0: kd > sự hệ thốngNhắc Hiển thị dưới đây cho thấy biểu tượng tệp cho tệp Ntoskrnl.exe không chính xác. Kiểm tra để đảm bảo rằng phù hợp đa bộ xử lý hoặc đơn bộ xử lý lõi và HAL được sao chép vào biểu tượng cây. Ví dụ:Symbol search path is: C:\symbolskd: crash dump initialized [c:\dump\memory.dmp]could not determine the current processor, using zeroKernel Version 1057 Free loaded @ 0x80100000Bugcheck 0000001e : c0000005 80151d5b 00000000 00000001*** Contents Deleted ***16kd> Khi trình gỡ lỗi hạt nhân tải tệp Memory.dmp, phiên bản hạt nhân cũng như số bộ xử lý được hiển thị trong vài dòng đầu tiên. Xác nhận số bộ xử lý tương ứng với lõi phù hợp và HAL. Trình điều khiển biểu tượng thông tin được hiển thị hoặc các biểu tượng được nạp hoặc chậm. Tải mẫu:Symbol search path is: C:\symbolskd: crash dump initialized [c:\dump\memory.dmp]Kernel Version 1057 Free loaded @ 0x80100000Bugcheck 0000001e : c0000005 80151d5b 00000000 00000001re-loading all kernel symbolsKD: unloading symbols for "ntoskrnl.exe"KD: deferring symbol load for "ntoskrnl.exe" at 80100000KD: Loaded (2248) fpo entries for image (ntoskrnl.exe)KD: "ntoskrnl.exe" loaded 4074 symbols (80100000-801bbb80)KD: loaded symbols for "ntoskrnl.exe"KD: deferring symbol load for "atapi.sys" at fc810000KD: deferring symbol load for "diskdump.sys" at fc800000KD: deferring symbol load for "hal.dll" at 80400000KD: deferring symbol load for "atapi.sys" at 80010000KD: deferring symbol load for "SCSIPORT.SYS" at 80013000KD: deferring symbol load for "Atdisk.sys" at 80001000KD: deferring symbol load for "Scsidisk.sys" at 8001b000KD: deferring symbol load for "Fastfat.sys" at 80372000Unable to read image header for Floppy.SYS at fc820000 - status c0000001*** Contents Deleted ***KD: deferring symbol load for "srv.sys" at fc9e0000KD: deferring symbol load for "ntdll.dll" at 77f80000finished re-loading all kernel symbolsNT!_PspUnhandledExceptionInSystemThread+0x18:80131ff8 b801000000 mov eax,0x1kd> Lưu ý rằng trình gỡ lỗi hạt nhân là "Không thể đọc tiêu đề ảnh Floppy.sys tại fc820000 - trạng thái c0000001." Thông báo này là bình thường do tiêu đề trình điều khiển cụ thể hiện không phải là trong bộ nhớ.

Kiểm tra thời gian tạo! trình điều khiển

Sử dụng các ! trình điều khiển lệnh vào danh sách các trình điều khiển hiện tải trong bộ nhớ. Hãy lưu ý ngày và giờ của trình điều khiển và có hoặc không có thể tải. (Mã kích thước và kích thước dữ liệu cột trong ví dụ sau đây được loại bỏ để phù hợp với chiều rộng của bài viết.)kd> !driversBase Code Size Data Size Driver Name Creation Time80100000 Ntoskrnl.exe Fri May 26 18:18:36 199580400000 Hal.dll Thu May 11 13:54:18 199580010000 Atapi.sys Tue May 23 21:01:41 199580013000 Scsiport.sys Fri May 05 23:11:06 199580001000 Atdisk.sys Fri May 05 23:10:40 19958001b000 Scsidisk.sys Fri May 05 23:11:01 199580372000 Fastfat.sys Mon May 22 23:57:13 1995fc820000 Floppy.sys Header Paged Outfc830000 Scsicdrm.sys Wed May 10 21:57:03 1995fc840000 Fs_Rec.sys Header Paged Outfc850000 Null.sys Header Paged Outfc860000 Beep.sys Header Paged Outfc870000 I8042prt.sys Fri May 05 23:10:42 1995fc880000 Mouclass.sys Fri May 05 23:10:45 1995fc890000 Kbdclass.sys Fri May 05 23:10:44 1995fc8b0000 Videoprt.sys Fri May 05 23:10:05 1995fc8a0000 S3.sys Fri May 19 21:18:06 1995fc8c0000 Vga.sys Fri May 05 23:10:10 1995fc8d0000 Msfs.sys Fri May 05 23:11:57 1995fc8e0000 Npfs.sys Fri May 05 23:11:40 1995fc900000 Ndis.sys Mon May 22 20:23:18 1995fc8f0000 El59x.sys Fri Feb 10 16:18:09 1995fc940000 Tdi.sys Fri May 05 23:13:09 1995fc920000 Nbf.sys Mon May 08 15:00:47 1995fc950000 Netbios.sys Fri May 05 23:13:19 1995fc960000 Parport.sys Header Paged Outfc970000 Parallel.sys Header Paged Outfc980000 Serial.sys Fri May 05 23:11:20 1995fc990000 Afd.sys Header Paged Outfc9a0000 Rdr.sys Wed May 17 17:18:16 1995fc9e0000 Srv.sys Wed May 24 21:56:59 1995TOTAL: 1ab460 (1709 kb) 3b7c0 ( 237 kb) ( 0 kb 0 kb)kd> Lưu ý khi tạo tệp là ngày tệp được biên soạn. Ngày này là gần tem Date\Time hồ sơ thực tế khi xem con Winnt\System32\Drivers bằng cách sử dụng trình quản lý tệp. Nếu bạn đăng ký mạng lưới nhà phát triển Microsoft (MSDN) hoặc có bộ điều khiển thiết bị Windows (DDK), công cụ Link.exe có thể được sử dụng để xác nhận rằng tệp Dbg cùng một tệp được tạo ra khi trình điều khiển đã được biên soạn. "Dấu thời gian ngày" trong ví dụ bên dưới phù hợp với "Tạo thời điểm" Netbios.sys ra ở trên. Sử dụng Link.exe để kiểm tra "dấu thời gian ngày" Dbg tệp:

Liên kết - đổ - tiêu đề \symbols\sys\netbios.dbgMicrosoft (R) COFF tập tin nhị phân Dumper phiên 3.00.5270 bản quyền (C) Microsoft Corp 1992-1995. Tất cả các quyền. Xuất tệp Netbios.dbg

chữ ký 4944 0 cờ 14C máy (i386) 306 đặc trưng2FAAE94F thời gian đóng dấu ngày thứ sáu ngày 05 23:13:19 1995

8D0B tổng số ảnh 10000 cơ sở kích thước 70A0 hình ảnh** Nội dung đã xoá ** nếu các ! trình điều khiển lệnh tạo bất kỳ dòng giống như sau, một bảng quan trọng trong xuất bản bị hỏng. Phân tích thêm biến thể không được.

Không thể đọc DosHeader tại 0583002a - trạng thái 00000000 không thể đọc DosHeader tại 0587002a - trạng thái 00000000 không thể đọc DosHeader tại 0588002a - trạng thái 00000000 không thể đọc DosHeader tại 058a002a - trạng thái 00000000 không thể đọc DosHeader tại 058c002a - trạng thái 00000000

Unassembling một chức năng

Các tệp biểu tượng cho phép gỡ lõi để tham khảo các chức năng và biến toàn cầu bằng tên. Điểm kiểm tra một số ưng chức năng để đảm bảo rằng họ tìm thích hợp. Nhiều chức năng là trình tối ưu hoá và không nhất thiết phải phù hợp với các ví dụ dưới đây. Trình tối ưu hoá chức năng được xác định bởi FPO trong dấu ngoặc đơn trong tên chức năng. Chức năng bình thường bắt đầu với ebp đẩy"hoặc" hoặc "mov eax, fs [000000000]." Cơ sở kiến thức về ngôn ngữ máy và trải nghiệm sẽ cho phép một để nhận ra các chức năng.

  • Danh sách tải mô-đun x *!

  • Danh sách các biểu tượng cho mô-đun cụ thể (ví dụ: Ntoskrnl.exe). x nt! *

  • Chọn một chức năng unassemble mà không trình tối ưu hoá. u NT! _NtUnlockFile

Biểu tượng tốt

kd> u NT!_NtUnlockFileu NT!_NtUnlockFileNT!_NtUnlockFile:80156bd8 64a100000000     mov     eax,fs:[00000000]80156bde 55               push    ebp80156bdf 8bec             mov     ebp,esp80156be1 6aff             push    0xff80156be3 68200d1080       push    0x80100d2080156be8 68304f1380       push    0x80134f3080156bed 50               push    eax80156bee 64892500000000   mov     fs:[00000000],espkd> 

Unassembly chức năng sẽ trông giống như văn bản trên; Tuy nhiên, unassembly có thể thay đổi. Nếu unassembly có vẻ thích hợp, bạn có thể cho biểu tượng đã tải đúng cho mô-đun này. Sau unassembly bắt đầu bằng "jnz NT! _NTUnlockFile + 0x22." Rõ ràng, bắt đầu một chức năng không bắt đầu với một bước hướng dẫn mã. Kiểm tra biểu tượng cây nữa.

Biểu tượng không hợp lệ

kd> u NT!_NTUnlockFileu NT!_NTUnlockFileNT!_NtUnlockFile:801574a4 7520             jnz     NT!_NtUnlockFile+0x22 (801574c6)801574a6 6a00             push    0x0801574a8 8d45dc           lea     eax,[ebp-0x24]801574ab 50               push    eax801574ac 53               push    ebx801574ad ff356c361480     push    dword ptr [NT!_CcNoDelay+0x4 (8014366c)]801574b3 6a01             push    0x1801574b5 ff7508           push    dword ptr [ebp+0x8] 

Dịch vụ gói biểu tượng

Có những lần khi nó khó để phù hợp với các biểu tượng cài đặt cụ thể. Tại một thời điểm, một dịch vụ có thể đã được thêm vào yêu cầu sao chép các tệp từ đĩa CD-ROM cài đặt Windows, sao chép trong tệp được Cập Nhật với gói dịch vụ. Đảm bảo rằng bạn áp dụng lại các gói dịch vụ và bất kỳ bên thứ ba hỗ trợ đĩa sau khi thay đổi thiết lập hệ thống, sao chép tệp từ đĩa CD cài đặt Windows. Biểu tượng sẽ được áp dụng theo thứ tự làm việc.

THÔNG TIN BỔ SUNG

Tìm nhóm lõi gỡ lỗi làm thế nào để các bài viết, tìm kiếm từ khóa: debugref. WinDbg 2.0.x biểu tượng kỹ thuật Trong phiên bản Trình gỡ lỗi 2.0.x trở lên của Microsoft Debuggers có các biểu tượng xác minh bước có thể được sử dụng. Để biết thêm thông tin, hãy tham khảo để Microsoft Web site sau của:

Bộ phát triển trình điều khiển

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×