Cách gỡ lỗi dịch vụ trong Windows

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 824344 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Bài t?ng bư?c này mô t? làm th? nào đ? g? l?i m?t Windows d?ch v? b?ng cách s? d?ng tr?nh g? l?i WinDbg (windbg.exe). G? l?i m?t d?ch v? Windows, b?n có th? đính kèm tr?nh g? l?i WinDbg cho quá tr?nh t? ch?c các d?ch v? sau khi các d?ch v? b?t đ?u, ho?c b?n có th? c?u h?nh d?ch v? đ? b?t đ?u v?i WinDbg tr?nh g? l?i g?n li?n do đó b?n có th? kh?c ph?c s? c? d?ch v?-kh?i đ?ng liên quan v?n đ?. Bài vi?t này mô t? c? nh?ng phương pháp này.

Yêu c?u

Đi?u này bài gi? đ?nh r?ng b?n đ? quen thu?c v?i các ch? đ? sau:
  • D?ch v? Windows
  • WinDbg tr?nh g? l?i

Đính kèm tr?nh g? l?i WinDbg vào m?t d?ch v? sau khi d?ch v? b?t đ?u

Phương pháp này là tương t? như các phương pháp mà b?n có th? s? d?ng đ? đính kèm m?t Debugger v?i m?t quá tr?nh và sau đó g? l?i m?t quá tr?nh.

S? d?ng quá tr?nh ID c?a quá tr?nh mà ch? các d?ch v? mà b?n mu?n g? l?i

  1. Đ? xác đ?nh quá tr?nh ID (PID) c?a quá tr?nh ch? các d?ch v? mà b?n mu?n g? l?i, s? d?ng m?t trong nh?ng phương pháp sau đây.
    • Phương pháp 1: S? d?ng tr?nh qu?n l? tác v?
      1. Nh?p chu?t ph?i vào thanh tác v? và b?m Qu?n l? tác v?. Các Windows Task Manager h?p tho?i h?p s? xu?t hi?n.
      2. B?m vào các Quy tr?nh tab c?a các Windows Task Manager h?p tho?i.
      3. Dư?i Tên ?nh, b?m vào h?nh ?nh tên c?a quá tr?nh mà ch? các d?ch v? mà b?n mu?n g? l?i. Lưu ? các quá tr?nh ID c?a quá tr?nh này theo quy đ?nh c?a giá tr? tương ?ng PID l?nh v?c.
    • Cách 2: S? d?ng danh sách tác v? Utility (tlist.exe)
      1. Nh?p vào B?t đ?u, sau đó b?m Ch?y. Các Ch?y h?p tho?i s? xu?t hi?n.
      2. Trong các M? h?p, lo?i CMD, sau đó b?m Ok.
      3. T?i d?u nh?c l?nh, thay đ?i đư?ng d?n thư m?c đ? ph?n ánh v? trí c?a các t?p tin tlist.exe trên máy tính c?a b?n.

        Chú ý Các t?p tin tlist.exe này thư?ng n?m ? sau đây thư m?c: c: Program Files Files\Debugging công c? cho Windows
      4. T?i d?u nh?c l?nh, g? tlist đ? có danh sách tên h?nh ?nh và quá tr?nh ID c?a t?t c? các quy tr?nh hi?n đang ch?y trên máy tính c?a b?n.

        Chú ý Ghi chú c?a quá tr?nh ID c?a quá tr?nh mà ch? các d?ch v? mà b?n b?n có mu?n g? l?i.
  2. T?i d?u nh?c l?nh, thay đ?i đư?ng d?n thư m?c đ? ph?n ánh các v? trí c?a các t?p tin windbg.exe trên máy tính c?a b?n.

    Chú ý N?u m?t d?u nh?c l?nh không m?, h?y làm theo các bư?c m?t và b c?a phương pháp 1. Các t?p tin windbg.exe thư?ng n?m trong thư m?c sau đây: C: Program Files Files\Debugging công c? cho Windows.
  3. T?i d?u nh?c l?nh, g? windbg –pProcessID /g đ? đính kèm tr?nh g? l?i WinDbg đ?n quá tr?nh t? ch?c các d?ch v? mà b?n mu?n g? l?i.

    Chú ý ProcessID là m?t gi? ch? cho các ID quá tr?nh c?a quá tr?nh mà ch? các d?ch v? mà b?n mu?n g? l?i.

S? d?ng tên h?nh ?nh c?a quá tr?nh mà ch? các d?ch v? mà b?n mu?n g? l?i

B?n có th? s? d?ng phương pháp này ch? n?u có chính xác m?t ch?y trư?ng h?p c?a quá tr?nh mà ch? các d?ch v? mà b?n mu?n ch?y. Đ? làm Đi?u này, h?y làm theo các bư?c sau:
  1. Nh?p vào B?t đ?u, sau đó b?mCh?y. Các Ch?y h?p tho?i s? xu?t hi?n.
  2. Trong các M? h?p, lo?iCMD, sau đó b?m Ok đ? m? m?t d?u nh?c l?nh.
  3. T?i d?u nh?c l?nh, thay đ?i đư?ng d?n thư m?c đ? ph?n ánh các v? trí c?a các t?p tin windbg.exe trên máy tính c?a b?n.

    Chú ý Các t?p tin windbg.exe này thư?ng n?m ? sau đây thư m?c: c: Program Files Files\Debugging công c? cho Windows.
  4. T?i d?u nh?c l?nh, g? windbg –pnImageName /g đ? đính kèm tr?nh g? l?i WinDbg đ?n quá tr?nh t? ch?c các d?ch v? mà b?n mu?n g? l?i.

    Chú ýImageName là m?t gi? ch? cho các tên ?nh c?a quá tr?nh mà ch? các d?ch v? mà b?n mu?n g? l?i. Các "-pn" tùy ch?n d?ng l?nh xác đ?nh r?ng cácImageName đ?i s? d?ng l?nh là tên h?nh ?nh c?a m?t quá tr?nh.

B?t đ?u tr?nh g? l?i WinDbg và đính kèm vào quá tr?nh mà ch? các d?ch v? mà b?n mu?n g? l?i

  1. Kh?i đ?ng Windows Explorer.
  2. Xác đ?nh v? trí các t?p tin windbg.exe trên máy tính c?a b?n.

    Chú ý Các t?p tin windbg.exe này thư?ng n?m ? sau đây thư m?c: c: Program Files Files\Debugging công c? cho Windows
  3. Ch?y t?p tin windbg.exe cùng v?i các /g d?ng l?nh chuy?n đ?i đ? b?t đ?u WinDbg tr?nh g? l?i. Các /g d?ng l?nh chuy?n đ?i cho phép quá tr?nh theo d?i đ? ti?p t?c sau khi phá v? đi?m đư?c thi?t l?p.
  4. Trên các Tệp tr?nh đơn, nh?p vào Đính kèm vào m?t quá tr?nh đ? hi?n th? các Đính kèm vào quá tr?nh h?p tho?i h?p.
  5. Nh?n vào đây đ? ch?n nút tương ?ng v?i quá tr?nh mà ch? các d?ch v? mà b?n mu?n g? l?i, và sau đó nh?p vàoOk.
  6. Trong h?p tho?i xu?t hi?n, nh?p vào Cólưu thông tin cơ b?n workspace. Thông báo r?ng bây gi? b?n có th? g? l?i nh?ng tháo r?i m? c?a d?ch v? c?a b?n.

C?u h?nh m?t d?ch v? đ? b?t đ?u v?i WinDbg tr?nh g? l?i g?n li?n

B?n có th? s? d?ng phương pháp này đ? g? l?i d?ch v? n?u b?n mu?n g? r?i các v?n đ? d?ch v?-kh?i đ?ng liên quan.
  1. C?u h?nh tùy ch?n "H?nh ?nh t?p tin th?c thi". Đ? làm đi?u này, s? d?ng m?t trong nh?ng phương pháp sau đây:
    • Phương pháp 1: S? d?ng tr?nh so?n th?o c? toàn c?u (gflags.exe)
      1. Kh?i đ?ng Windows Explorer.
      2. Xác đ?nh v? trí các t?p tin gflags.exe trên c?a b?n máy tính.

        Chú ý Các t?p tin gflags.exe này thư?ng n?m ? sau đây thư m?c: c: Program Files Files\Debugging công c? cho Windows.
      3. Ch?y t?p tin gflags.exe đ? b?t đ?u nh?ng lá c? toàn c?u Biên t?p viên.
      4. Trong các Tên t?p tin h?nh ?nh h?p văn b?n, g? tên h?nh ?nh c?a quá tr?nh mà ch? các d?ch v? mà b?n mu?n g? l?i. Ví d?, n?u b?n mu?n g? l?i m?t d?ch v? đư?c t? ch?c b?i m?t quá tr?nh có MyService.exe như tên h?nh ?nh, lo?i MyService.exe.
      5. Dư?i Đi?m đ?n, nh?n vào đây đ? ch?n các Tùy ch?n t?p h?nh ?nh tùy ch?n.
      6. Dư?i H?nh ?nh tr?nh g? l?i tùy ch?n, nh?n vào đây đ? ch?n các Trình gỡ lỗi h?p ki?m.
      7. Trong các Trình gỡ lỗi văn b?n h?p, g? đư?ng d?n đ?y đ? c?a tr?nh g? l?i mà b?n mu?n s? d?ng. Ví d?, n?u b?n mu?n s? d?ng tr?nh g? l?i WinDbg đ? g? l?i m?t d?ch v?, b?n có th? g? m?t con đư?ng đ?y đ? mà là tương t? như sau: C: Program Files Files\Debugging công c? cho Windows\windbg.exe
      8. Nh?p vào Áp d?ng, sau đó b?m Ok đ? thoát kh?i tr?nh so?n th?o c? toàn c?u.
    • Cách 2: S? d?ng k? biên so?n
      1. Nh?p vào B?t đ?u, sau đó b?m Ch?y. Các Ch?y h?p tho?i s? xu?t hi?n.
      2. Trong các M? h?p, lo?i regedit, sau đó b?m Ok đ? b?t đ?u Registry biên so?n.
      3. Quan tr?ng Ph?n, phương pháp ho?c nhi?m v? này ch?a các bư?c cho b?n bi?t làm th? nào đ? s?a đ?i registry. Tuy nhiên, v?n đ? nghiêm tr?ng có th? x?y ra n?u b?n s?a đ?i registry không chính xác. V? v?y, h?y ch?c ch?n r?ng b?n làm theo các bư?c sau m?t cách c?n th?n. Đ? b?o v? đư?c thêm vào, sao lưu s? đăng k? trư?c khi b?n s?a đ?i nó. Sau đó, b?n có th? khôi ph?c s? đăng k? n?u m?t v?n đ? x?y ra. Đ? bi?t thêm chi ti?t v? làm th? nào đ? sao lưu và khôi ph?c s? đăng k?, h?y nh?p vào s? bài vi?t sau đây đ? xem bài vi?t trong cơ s? ki?n th?c Microsoft:
        322756 Cách sao lưu và lưu tr? s? đăng kư trong Windows


        Trong Registry Editor, t?m ki?m, và sau đó nh?p chu?t ph?i registry subkey sau đây:
        HKEY_LOCAL_MACHINE Software Tùy ch?n th?c hi?n t?p NT\CurrentVersion\Image
      4. Đi?m đ?n M?i, sau đó b?m Key. Trong ngăn bên trái c?a Registry Editor, nh?n th?y r?ng M?i Key # 1 (tên c?a m?t m?i registry subkey) đư?c ch?n cho ch?nh s?a.
      5. Lo?i ImageName đ? thay th? M?i Key # 1, vaø sau ñoù baám NH?P.

        Chú ý ImageName là m?t gi? ch? cho các tên ?nh c?a quá tr?nh mà ch? các d?ch v? mà b?n mu?n g? l?i. Cho Ví d?, n?u b?n mu?n g? l?i m?t d?ch v? đư?c t? ch?c b?i m?t quá tr?nh có MyService.exe là tên h?nh ?nh, lo?i MyService.exe.
      6. Nh?p chu?t ph?i vào registry subkey mà b?n t?o ra trong bư?c e.
      7. Đi?m đ?n M?i, sau đó b?m Giá trị Chuỗi. Trong ngăn bên ph?i c?a Registry Editor, thông báo mà Giá tr? m?i # 1, tên c?a m?c đăng k? m?i là l?a ch?n đ? ch?nh s?a.
      8. Thay th? Giá tr? m?i # 1 v?i Trình gỡ lỗi, sau đó nh?n ENTER.
      9. Nh?p chu?t ph?i vào các Trình gỡ lỗi đăng k? m?c mà b?n t?o trong bư?c h, và sau đó nh?p vào S?a đ?i. Các Ch?nh s?a các chu?i h?p tho?i s? xu?t hi?n.
      10. Trong các Dữ liệu giá trị h?p văn b?n, lo?i DebuggerPath, sau đó b?m Ok.

        Chú ý DebuggerPath là m?t gi? ch? cho đư?ng d?n đ?y đ? c?a tr?nh g? l?i mà b?n mu?n s? d?ng. Ví d?, n?u b?n mu?n s? d?ng tr?nh g? l?i WinDbg đ? g? l?i m?t d?ch v?, b?n có th? nh?p m?t đ?y đ? đư?ng d?n tương t? như sau:
        C:\Progra~1\Debugg~1\windbg.exe
  2. Đ?i v?i các c?a s? tr?nh g? l?i xu?t hi?n trên desktop c?a b?n, và đ? tương tác v?i tr?nh g? l?i, làm cho d?ch v? c?a b?n tương tác. N?u b?n không làm cho d?ch v? c?a b?n tương tác, tr?nh g? l?i s? b?t đ?u nhưng b?n có th? không nh?n th?y nó và b?n không th? phát hành l?nh. Đ? th?c hi?n d?ch v? tương tác, s? d?ng m?t các phương pháp sau đây:
    • Phương pháp 1: S? d?ng giao di?n đi?u khi?n d?ch v?
      1. Nh?p vào B?t đ?u, và sau đó đi?m đ?n Chương tr?nh.
      2. Trên các Chương tr?nh tr?nh đơn, đi?m đ?n Công c? qu?n tr?, sau đó b?m D?ch v?. Các D?ch v? giao di?n đi?u khi?n xu?t hi?n.
      3. Trong ngăn bên ph?i c?a các D?ch v?giao di?n đi?u khi?n, b?m chu?t ServiceName, sau đó b?m Thu?c tính.

        Chú ý ServiceName là m?t gi? ch? cho các tên c?a d?ch v? mà b?n mu?n g? l?i.
      4. Trên các Đăng nh?p tab, nh?n vào đây đ? ch?n các Cho phép d?ch v? tương tác v?i máy tính đ? bàn h?p ki?m dư?i Trương m?c h? th?ng đ?a phương, sau đó b?m Ok.
    • Cách 2: S? d?ng k? biên so?n
      1. Trong Registry Editor, xác đ?nh v? trí và b?m các following registry subkey:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
        Chú ý Thay th? ServiceName v?i tên g?i các d?ch v? mà b?n mu?n g? l?i. Ví d?, n?u b?n mu?n g? l?i m?t d?ch v? đ?t tên MyService, xác đ?nh v? trí và sau đó b?m vào khóa registry sau đây:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService
      2. Theo các Tên l?nh v?c trong c?a s? bên ph?i c?a Registry Editor, b?m chu?t Lo?i, sau đó b?m S?a đ?i. Các Ch?nh s?a các giá tr? DWORD h?p tho?i xu?t hi?n.
      3. Thay đ?i văn b?n trong các Dữ liệu giá trịh?p văn b?n cho k?t qu? c?a chi?n d?ch OR nh? phân v?i giá tr? nh? phân c?a các văn b?n hi?n t?i và giá tr? nh? phân, 0x00000100, như hai operands. Nh? phân giá tr?, 0x00000100, tương ?ng v?i h?ng s? SERVICE_INTERACTIVE_PROCESS mà đư?c đ?nh ngh?a trong tiêu đ? WinNT.h t?p tin trên máy tính c?a b?n. H?ng s? này xác đ?nh là m?t d?ch v? là tương tác trong t? nhiên.
  3. Khi m?t d?ch v? b?t đ?u, các d?ch v? liên l?c v?i các D?ch v? b? đi?u khi?n bao lâu các d?ch v? ph?i có đ? b?t đ?u (time-out kho?ng th?i gian cho các d?ch v?). N?u b? đi?u khi?n d?ch v? không nh?n đư?c m?t "d?ch v? kh?i đ?ng" thông báo t? các d?ch v? trong kho?ng th?i gian ch? này, các B? đi?u khi?n d?ch v? ch?m d?t ti?n tr?nh ch? d?ch v?. Đi?u này kho?ng th?i gian ch? thư?ng là ít hơn 30 giây. N?u b?n không đi?u ch?nh này kho?ng th?i gian ch?, b? đi?u khi?n d?ch v? k?t thúc ti?n tr?nh và các đính kèm tr?nh g? l?i trong khi b?n đang c? g?ng đ? g? l?i. Đ? đi?u ch?nh s?a l?i quá th?i gian kho?ng th?i gian, h?y làm theo các bư?c sau:
    1. Trong Registry Editor, t?m ki?m, và sau đó nh?p chu?t ph?i vào các following registry subkey:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
    2. Đi?m đ?n M?i, sau đó b?m Giá trị DWORD. Trong ngăn bên ph?i c?a Registry Editor, nh?n th?y r?ng Giá tr? m?i # 1 (tên c?a m?c đăng k? m?i) đư?c ch?n đ? ch?nh s?a.
    3. Lo?i ServicesPipeTimeout đ? thay th? Giá tr? m?i # 1, vaø sau ñoù baám NH?P.
    4. Nh?p chu?t ph?i vào các ServicesPipeTimeoutm?c nh?p registry mà b?n t?o trong bư?c, và sau đó nh?p vào S?a đ?i. Các Ch?nh s?a các giá tr? DWORD h?p tho?i xu?t hi?n.
    5. Trong các Dữ liệu giá trị h?p văn b?n, lo?i TimeoutPeriod, sau đó b?m Ok

      Chú ý TimeoutPeriod là m?t gi? ch? cho giá tr? c?a kho?ng th?i gian ch? (trong mili giây) mà b?n b?n mu?n đ?t cho d?ch v?. Ví d?, n?u b?n mu?n thi?t l?p gian ch? giai đo?n 24 gi? (86400000 mili giây), lo?i 86400000.
    6. Khởi động lại máy tính. B?n ph?i kh?i đ?ng l?i máy tính cho d?ch v? b? đi?u khi?n đ? áp d?ng thay đ?i này.
  4. B?t đ?u d?ch v? Windows c?a b?n. Để thực hiện việc này, hãy làm theo những bước sau:
    1. Nh?p vào B?t đ?u, và sau đó đi?m đ?n Chương tr?nh.
    2. Trên các Chương tr?nh tr?nh đơn, đi?m đ?n Công c? qu?n tr?, sau đó b?m D?ch v?. Các D?ch v? giao di?n đi?u khi?n xu?t hi?n.
    3. Trong ngăn bên ph?i c?a các D?ch v?giao di?n đi?u khi?n, b?m chu?t ServiceName, sau đó b?m B?t đ?u.

      Chú ý ServiceName là m?t gi? ch? cho các tên c?a d?ch v? mà b?n mu?n g? l?i.

Khắc phục sự cố

Trư?c khi b?n c? g?ng đ? g? l?i m?t d?ch v? qua m?ng, h?y ch?c ch?n r?ng các bi?u tư?ng và các t?p tin ngu?n s? d?ng các d?ch v? là có th? truy c?p t? máy tính nơi mà các d?ch v? s? ch?y. Để thực hiện việc này, sử dụng một trong các phương pháp sau:
  • C?p quy?n truy nh?p ít đ?c cho t?t c? m?i ngư?i cho thư m?c trên c?a b?n máy tính có ch?a các bi?u tư?ng và các t?p tin m? ngu?n có s? d?ng d?ch v?.
  • Sao chép các bi?u tư?ng và các t?p tin ngu?n s? d?ng các d?ch v? máy tính nơi mà các d?ch v? s? ch?y.

THAM KH?O

Đ? t?i v? các công c? và ti?n ích đư?c đ? c?p trong bài này, ghé thăm Web site sau c?a Microsoft:
G? l?i công c? cho Windows: t?ng quan
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
Đ? bi?t thêm chi ti?t, truy c?p vào các nhà phát tri?n Microsoft sau đây Các trang Web m?ng (MSDN):
WinDbg tr?nh g? l?i
http://www.Microsoft.com/whdc/devtools/debugging/installx86.mspx
D?ch v?
http://msdn2.Microsoft.com/en-us/Library/ms685141.aspx
B?ng cách s? d?ng lá c? toàn c?u Ti?n ích
http://msdn2.Microsoft.com/en-us/Library/ms792858.aspx

Thu?c tính

ID c?a bài: 824344 - L?n xem xét sau cùng: 23 Tháng Chín 2011 - Xem xét l?i: 3.0
Áp d?ng
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
T? khóa: 
kbimghlp kbregistry kbservice kbdebug kbmisctools kbhowtomaster kbmt KB824344 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:824344

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com