วิธีทำบันทึก

สารบัญ:

วิธีทำบันทึก
วิธีทำบันทึก

วีดีโอ: วิธีทำบันทึก

วีดีโอ: วิธีทำบันทึก
วีดีโอ: วิธีบันทึก Word และ Excel เป็นไฟล์ PDF [Save ทุกหน้าและกำหนดหน้าเอกสาร] 2024, อาจ
Anonim

วิธีหลักวิธีหนึ่งในการวินิจฉัยความผิดปกติในการทำงานของซอฟต์แวร์ที่ทำงานอยู่ในคอมพิวเตอร์ของผู้ใช้อยู่แล้วคือการเก็บบันทึกเหตุการณ์ - บันทึก โดยทั่วไป จะบันทึกข้อมูลเกี่ยวกับการเปิดตัว ตลอดจนข้อมูลสำคัญเกี่ยวกับสถานะของกระบวนการและสภาพแวดล้อมของระบบในกรณีที่เกิดความล้มเหลวร้ายแรง คุณสามารถสร้างบันทึกได้โดยใช้วิธีการของคุณเองและใช้บริการพิเศษของระบบปฏิบัติการ

วิธีทำบันทึก
วิธีทำบันทึก

มันจำเป็น

  • - นักแปลจากภาษาโปรแกรมที่ใช้
  • - อาจเป็น Windows Platform SDK;
  • - อาจเป็นแพ็คเกจการพัฒนาสำหรับ glibc

คำแนะนำ

ขั้นตอนที่ 1

วิเคราะห์เงื่อนไขการใช้งานและจัดทำข้อกำหนดสำหรับระบบย่อย ส่วนประกอบ หรือไลบรารีที่พัฒนาขึ้นซึ่งจะสร้างบันทึก ตอบคำถามเกี่ยวกับแพลตฟอร์มหรือแพลตฟอร์มที่ควรใช้งาน API ของมันจะเป็นอย่างไร

ขั้นตอนที่ 2

ตามคุณลักษณะการทำงานที่ระบุและ API ที่ให้มา ให้สร้างเทมเพลตสำหรับระบบย่อยการบันทึก เริ่มใช้ฟังก์ชันการทำงาน

ขั้นตอนที่ 3

ตัวเลือกที่ง่ายที่สุดสำหรับการบันทึกคือการสร้างไฟล์อย่างอิสระในตำแหน่งที่กำหนดโดยการกำหนดค่าแอปพลิเคชัน จากนั้นเขียนข้อมูลในรูปแบบใดก็ได้ ใช้ฟังก์ชันไลบรารีมาตรฐาน C (fopen, fclose, fwrite), อ็อบเจ็กต์สตรีมไลบรารีมาตรฐาน C ++ (ของสตรีม) คลาสเฟรมเวิร์กที่ใช้ (เช่น CFile, QFile) หรือฟังก์ชัน API ของระบบปฏิบัติการ (CreateFile, WriteFile บน Windows)

ขั้นตอนที่ 4

ใช้งานการบันทึกโดยใช้ syslog API บนระบบปฏิบัติการที่เข้ากันได้กับ UNIX ฟังก์ชัน syslog API ได้รับการประกาศในไฟล์ส่วนหัว syslog.h เชื่อมต่อในตำแหน่งที่ถูกต้องในซอร์สโค้ดของโครงการของคุณ

ขั้นตอนที่ 5

เชื่อมต่อกับบริการ syslog โดยใช้การเรียกใช้ฟังก์ชัน openlog เป็นพารามิเตอร์ ส่งตัวชี้ไปยังสตริงที่มีตัวระบุของแอปพลิเคชันหรือส่วนประกอบที่จะเขียน แฟล็กตัวเลือก และรูปแบบเหตุการณ์ที่จะส่งผ่านไปยังบันทึก ใช้การเรียกไปยังฟังก์ชัน syslog และ vsyslog เพื่อเพิ่มรายการลงในบันทึก เรียกใช้ฟังก์ชัน closelog เพื่อยกเลิกการเชื่อมต่อจากบริการ ตัวอย่างง่ายๆ ของโค้ด syslog ได้แก่ openlog ("prefix", LOG_NDELAY | LOG_CONS | LOG_PID, LOG_LOCAL1); syslog (LOG_INFO, "% s", "Info"); syslog (LOG_NOTICE, "% s", " Notice "); closelog (); เหมาะสมที่จะเชื่อมต่อกับ syslog เมื่อเริ่มต้นแอปพลิเคชัน และตัดการเชื่อมต่อเมื่อปิดตัวลง

ขั้นตอนที่ 6

บนระบบปฏิบัติการ Windows ให้ใช้ EventLog API เพื่อเพิ่มรายการลงในบันทึกของระบบ โทร RegisterEventSource เพื่อรับตัวบอกบันทึกในเครื่องที่ระบุ ใช้หมายเลขอ้างอิงนี้เมื่อเรียกใช้ฟังก์ชัน ReportEvent ที่เขียนลงในบันทึก เมื่อเสร็จแล้ว เรียก DeregisterEventSource เพื่อปิดการเชื่อมต่อและปล่อยทรัพยากรที่จัดสรรโดย RegisterEventSource ตัวอย่างที่ง่ายที่สุดในการทำงานกับ EventLog อาจเป็น: HANDLE h =:: RegisterEventSource (NULL, "AnySource"); ASSERT (h! = NULL);:: ReportEvent (h, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 3, 0, "Text1Text2Text3", NULL);:: DeregisterEventSource (h); เช่นเดียวกับ syslog การเรียก RegisterEventSource เมื่อเริ่มต้นและ DeregisterEventSource เมื่อปิดแอปพลิเคชัน