Làm cách nào để giải mã thời gian bắt đầu ứng dụng Faulting của ứng dụng trong một mục nhật ký sự kiện Windows?


6

Một ứng dụng tôi đang chạy bị lỗi và tôi muốn biết khi nào nó xảy ra, vì vậy tôi đã mở trình xem sự kiện Windows và tìm kiếm một mục. Tôi tìm thấy mục, và sau đó nhận thấy một trong những chi tiết của mục này là:

Faulting application start time: 0x01ccfe1e3e206d42

Thật tuyệt, tôi nghĩ, vì tôi cũng muốn biết ứng dụng này đã hoạt động được bao lâu. Làm cách nào để giải mã chuỗi hex đó và chuyển đổi nó thành ngày và giờ?

Câu trả lời:


2
  1. Trong Powershell, bạn có thể đưa ra lệnh sau:

    get-date 0x01ccfe1e3e206d42    
    

    thay thế 0x01ccfe1e3e206d42 bằng giá trị bạn tìm thấy trong sự kiện của bạn.

  2. Ngoài ra, bạn có thể chuyển sang tab Chi tiết của các thuộc tính sự kiện nơi bạn sẽ tìm thấy CreationTime ở định dạng có thể đọc được. Ví dụ: 2012-01-12T13: 33: 38.171Z


Phương pháp 1 không chính xác, khoảng thời gian là 1601 năm. Trong phương pháp 2, "CreationTime" là thời gian sự kiện được ghi lại, nhưng trong thời gian Utc, đó không phải là thời gian bắt đầu ứng dụng, thời gian khi sự kiện được ghi lại được hiển thị trong cột "Ngày và Giờ", được đo theo giờ địa phương .
zhaorufei

2

Trong Powershell, ban hành lệnh sau, thay thế chuỗi hex:

[datetime]::FromFileTime(0x01ccfe1e3e206d42)

9 March 2012, 19:58:33

Câu trả lời là theo giờ địa phương, để khớp thời gian trong Trình xem sự kiện (ở đây tại Phần Lan, chúng tôi là 2 giờ Đông của UTC vào tháng 3). Để hiển thị nó trong thời gian UTC, thêm UTCvào tên phương thức:

[datetime]::FromFileTimeUTC(0x01ccfe1e3e206d42)

9 March 2012, 17:58:33
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.