Хэрэглэгчийн компьютер дээр аль хэдийн ажиллаж байсан програм хангамжийн үйл ажиллагааны доголдлыг оношлох гол аргуудын нэг бол үйл явдлын бүртгэл - бүртгэл хөтлөх явдал юм. Ерөнхийдөө тэд хөөргөх тухай мэдээлэл, түүнчлэн чухал алдаа гарахад үйл явцын байдал, системийн орчны талаархи чухал мэдээллийг бүртгэдэг. Та өөрийн аргаар болон үйлдлийн системийн тусгай үйлчилгээг ашиглан бүртгэлийг үүсгэж болно.
Энэ нь зайлшгүй шаардлагатай
- - ашигласан програмчлалын хэлнээс орчуулагч;
- - магадгүй Windows Platform SDK;
- - магадгүй glibc-ийн хөгжлийн багц байж магадгүй юм.
Зааварчилгаа
1-р алхам
Ашиглалтын нөхцлийг шинжлэх, бүртгэлийг хийх дэд систем, бүрэлдэхүүн хэсэг эсвэл номын санд тавигдах шаардлагыг бүрдүүлэх. Аль платформ эсвэл платформ дээр ажиллах ёстой, API нь ямар байх вэ гэсэн асуултанд хариулна уу.
Алхам 2
Тодорхойлогдсон үйл ажиллагааны онцлог шинж чанарууд болон өгсөн API-ийн дагуу бүртгэлийн дэд системд зориулж загвар үүсгэнэ үү Үйл ажиллагааг нь хэрэгжүүлж эхэл.
Алхам 3
Бүртгэлийн хамгийн энгийн сонголт бол програмын тохиргоогоор тодорхойлогдсон байршилд бие даан файл үүсгэх, дараа нь өгөгдлийг ямар ч форматаар бичих явдал юм. С стандарт номын сангийн функцууд (fopen, fclose, fwrite), C ++ стандарт номын сангийн урсгал обьектууд (ofstream), ашигласан фрэймворк ангиуд (CFile, QFile гэх мэт) эсвэл үйлдлийн системийн API функцууд (CreateFile, Windows дээр WriteFile) ашиглана уу.
Алхам 4
UNIX-тэй нийцтэй үйлдлийн систем дээр syslog API ашиглан бүртгэл хөтлөх. Syslog API функцуудыг syslog.h толгой файлд зарласан болно. Төслийнхөө эх код дээрх зөв газарт холбоно уу.
Алхам 5
Openlog функцын дуудлага ашиглан syslog үйлчилгээнд холбогдоорой. Параметрүүдийн хувьд заагчийг програм эсвэл бүрэлдэхүүн хэсгийн таних тэмдэг, тэмдэгт оруулах, тохируулгын туг, үйл явдлын маск зэргийг тэмдэглэлд оруулах. Бүртгэлд оруулгууд нэмэхийн тулд syslog болон vsyslog функцууд руу дуудлага хийх. Үйлчилгээг салгахын тулд closelog функц руу залгана уу. Syslog кодын энгийн жишээ нь: openlog ("угтвар", LOG_NDELAY | LOG_CONS | LOG_PID, LOG_LOCAL1); syslog (LOG_INFO, "% s", "Info"); syslog (LOG_NOTICE, "% s", "Notice" програмыг эхлүүлэхдээ syslog-тэй холбогдох, унтраах үед салгах нь утга учиртай.
Алхам 6
Windows үйлдлийн систем дээр EventLog API ашиглан системийн бүртгэлд оруулгуудыг нэмнэ үү. Тодорхойлогдсон машин дээрх бүртгэлийн тодорхойлогчийг авахын тулд RegisterEventSource руу залгана уу. Бүртгэлд бичдэг ReportEvent функцийг дуудахдаа энэ бариулыг ашиглана уу. Дууссаны дараа DeregisterEventSource руу залгаж холболтыг хааж, RegistEventSource-ээс хуваарилсан нөөцийг суллана уу. EventLog-тэй ажиллах хамгийн энгийн жишээ нь: HANDLE h =:: RegisterEventSource (NULL, "AnySource"); ASSERT (h! = NULL);:: ReportEvent (h, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 3, 0, "Text1Text2Text3", NULL);:: DeregisterEventSource (h); syslog-тэй адил RegistEventSource руу залгах нь утга учиртай. эхлэх үед, програм хаагдах үед DeregisterEventSource.