Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

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

Hỗ trợ cho Windows XP đã kết thúc

Microsoft đã kết thúc hỗ trợ dành cho Windows XP vào ngày 8 tháng 4 năm 2014. Thay đổi này đã ảnh hưởng đến các bản cập nhật phần mềm và tùy chọn bảo mật của bạn. Tìm hiểu ý nghĩa của điều này với bạn và cách thực hiện để luôn được bảo vệ.

Hỗ trợ cho Windows Server 2003 đã kết thúc vào ngày 14 tháng 7 năm 2015

Microsoft đã kết thúc hỗ trợ cho Windows Server 2003 vào ngày 14 tháng 7 năm 2015. Thay đổi này đã ảnh hưởng đến các bản cập nhật phần mềm và tùy chọn bảo mật của bạn. Tìm hiểu ý nghĩa của điều này với bạn và cách thực hiện để luôn được bảo vệ.

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
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.

Quay lại đầu trang

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
Quay lại đầu trang

Đí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.
Quay lại đầu trang

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.
Quay lại đầu trang

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.
Quay lại đầu trang

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.
Quay lại đầu trang

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.
Quay lại các đầu trang
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):
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
Quay lại các đầu trang

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 824344 - Xem lại Lần cuối: 09/23/2011 03:10:00 - Bản sửa đổi: 3.0

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

  • kbimghlp kbregistry kbservice kbdebug kbmisctools kbhowtomaster kbmt KB824344 KbMtvi
Phản hồi