2011-01-10 36 views
5

Tôi có một ứng dụng vb.net đơn giản. Khi tôi đi đến bin \ debug \ program.exe và nhấp đúp vào chương trình chạy hoàn hảo. Chương trình tương tự sẽ không thực hiện bằng cách sử dụng công cụ lập lịch tác vụ. Khi tôi tạo ra một nhiệm vụ theo lịch trình và bấm vào 'chạy' nó chỉ bật lên một cửa sổ giao diện điều khiển trong một giây, đóng lại. Ngoài ra, cùng một chương trình này được sử dụng để chạy với công cụ lên lịch. Một ngày, nó chỉ ngừng hoạt động.Tác vụ theo lịch sẽ không chạy trả lại e0434f4d như kết quả cuối cùng

ps:
Tôi có mã chương trình này được quản lý trong svn để tôi có thể an toàn nói rằng mã không thay đổi.

+0

Nếu có thể bạn đã thử chạy cùng một ứng dụng trên một máy khác? Chương trình của bạn có cần quyền quản trị không? Chương trình làm gì? Hệ điều hành của bạn (Vista, Win 7) là gì? Bạn có thể cung cấp thêm chi tiết cho chúng tôi không. – Searock

+0

repasting vị trí vào hộp văn bản chạy cố định vấn đề. Tôi đã thử nghiệm điều này và nếu bạn tạo một tác vụ trỏ đến tệp exe không tồn tại, bạn sẽ nhận được thông báo 'không thể bắt đầu'. Vì vậy, tôi không biết làm thế nào tôi đã nhận được mã lỗi tôi đã nhận được. –

Trả lời

3

Cá nhân tôi không tin vào ma thuật :-)

  1. đúp kiểm tra xem mã nguồn được không thay đổi so với phiên bản làm việc .
  2. Bạn có chắc chắn rằng chương trình được thực thi không? Có thể là một số vấn đề liên quan đến quyền (từ đó người dùng thực hiện chương trình và vv).
  3. (nếu # 2 vượt qua) Hãy thử gỡ lỗi để xem nguyên nhân gây ra sự cố.
+0

1. Tôi đã kiểm tra kỹ. Luôn luôn là một ý tưởng tốt.
2. Chạy chương trình bằng cách sửa lỗi f5, chạy tốt
3. Chạy phiên bản từ thư mục bin \ debug chạy tốt.
4. tái tái sao chép và dán lệnh chạy từ cửa sổ thám hiểm vào các thuộc tính chạy nhiệm vụ .... cố định. –

+0

.. và đây là lý do tại sao bạn (có nghĩa là tôi) nên luôn luôn kiểm tra tất cả mọi thứ (ngay cả những thứ rõ ràng). –

17

Mã thoát 0xe0434f4d khá có ý nghĩa. Đó là mã ngoại lệ gốc cho một ngoại lệ được quản lý. Nói cách khác, ứng dụng của bạn đang gặp sự cố với một ngoại lệ không được xử lý khi ứng dụng được chạy bởi trình quản lý tác vụ. Tôi có thể đoán lý do tại sao, nhưng nó là vô nghĩa. Hãy tự tìm hiểu, viết một trình xử lý sự kiện cho AppDomain.CurrentDomain.UnhandledException và ghi lại giá trị của e.ExceptionObject.ToString(). Điều đó mang lại cho bạn thông điệp ngoại lệ và dấu vết ngăn xếp, hầu như luôn đủ tốt để tìm hiểu lý do tại sao nó là vụ đánh bom.

0

Tôi sẽ kiểm tra xem người dùng đang chạy tác vụ theo lịch nào. Nó có thể đang chạy với một tài khoản có mật khẩu đã hết hạn (như bạn đã nói nó đã chạy trước đó) và yêu cầu điều này được thay đổi.

1

Thực ra, sự cố này là do quyền. Như một nhiệm vụ được lập lịch, công việc không có quyền đối với một số thư mục và tệp nhất định.

0

Một điều tôi đã nhận thấy với các tác vụ được lập lịch nhất định trên Windows 2000 và Windows XP là mỗi khi máy được khởi động lại, chúng tôi phải nhập lại mật khẩu trên một số tác vụ. Những người khác tiếp tục làm việc mà không có nó, và tôi không bao giờ nhận ra sự khác biệt.

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