ቀድሞውኑ በተጠቃሚው ኮምፒተር ላይ በሚሠራው ሶፍትዌር አሠራር ውስጥ ያሉ ጉድለቶችን ለመመርመር አንዱ ዋና መንገድ የዝግጅት ምዝግብ ማስታወሻዎችን - መዝገቦችን ማቆየት ነው ፡፡ በተለምዶ እነሱ ስለ ማስጀመሪያዎች መረጃ ፣ እንዲሁም ወሳኝ ውድቀት በሚከሰትበት ጊዜ ስለሂደቱ ሁኔታ እና ስለ ስርዓት አከባቢ አስፈላጊ መረጃዎችን ይመዘግባሉ ፡፡ ምዝግብ ማስታወሻዎችን በራስዎ መንገድ እና ልዩ አገልግሎቶችን በመጠቀም የምዝግብ ማስታወሻዎችን መፍጠር ይችላሉ።
አስፈላጊ ነው
- - ከተጠቀመው የፕሮግራም ቋንቋ አስተርጓሚ;
- - ምናልባት የዊንዶውስ መድረክ SDK;
- - ለጊሊብክ የልማት ፓኬጅ ሊሆን ይችላል ፡፡
መመሪያዎች
ደረጃ 1
የአጠቃቀም ደንቦችን መተንተን እና ምዝግብ ማስታወሻዎችን ለሚሰሩ ለተሻሻለው ንዑስ ስርዓት ፣ አካል ወይም ቤተ-መጽሐፍት የሚያስፈልጉትን ነገሮች ይሙሉ ፡፡ በየትኛው መድረክ ወይም መድረኮች ስር መሥራት እንዳለበት ፣ ኤፒአይው ምን እንደሚሆን ለሚነሱ ጥያቄዎች መልስ ይስጡ ፡፡
ደረጃ 2
በተጠቀሱት የአሠራር ባህሪዎች እና በተጠቀሰው ኤ.ፒ.አይ. መሠረት ለዝግጅት ንዑስ ስርዓት አብነት ይፍጠሩ ፡፡ ተግባራዊነቱን መተግበር ይጀምሩ.
ደረጃ 3
ለመግቢያ በጣም ቀላሉ አማራጭ በመተግበሪያው ውቅር በተወሰነው ቦታ ላይ ፋይሎችን በተናጥል መፍጠር እና ከዚያ መረጃን በማንኛውም ቅርጸት ለእነሱ መጻፍ ነው። የ C መደበኛ ቤተመፃህፍት ተግባራትን (ፎፔን ፣ ፍሎውስ ፣ ፊደል) ፣ C ++ መደበኛ የቤተ-መጻህፍት ዥረት ነገሮችን (ኦስትሬስት) ፣ ያገለገሉ የማዕቀፍ ትምህርቶችን (እንደ CFile ፣ QFile ያሉ) ወይም ኦፐሬቲንግ ሲስተም ኤፒአይ ተግባራትን (CreateFile ፣ WriteFile በዊንዶውስ) ይጠቀሙ ፡፡
ደረጃ 4
በ UNIX- ተኳሃኝ በሆኑ ስርዓተ ክወናዎች ላይ የሳይስሎግ ኤፒአይ በመጠቀም ምዝግብ ማስታወሻ ይተግብሩ። የ syslog ኤ.ፒ.አይ. ተግባራት በ syslog.h ራስጌ ፋይል ውስጥ ተገልፀዋል። በፕሮጀክትዎ ምንጭ ኮድ ውስጥ በትክክለኛው ቦታ ላይ ያገናኙት ፡፡
ደረጃ 5
የኦፕሎግ ተግባሩን ጥሪ በመጠቀም ከሲሲሎግ አገልግሎት ጋር ይገናኙ። እንደ መለኪያዎች ጠቋሚውን ወደ ሚያስተላልፈው የመተግበሪያውን ወይም የሚጽፈውን አካል ፣ አማራጭ ባንዲራዎችን እና የዝግጅቶችን ጭምብል ለይቶ ወደያዘው ገመድ ያስተላልፉ ፡፡ ወደ ምዝግብ ማስታወሻዎች ግቤቶችን ለመጨመር ጥሪዎችን ወደ syslog እና vsyslog ተግባራት ይጠቀሙ። ከአገልግሎቱ ለመለያየት ወደ የተጠጋው ተግባር ይደውሉ። ቀላል የ ‹ሲስሎግ› ኮድ ምሳሌ-ክፍት (“ቅድመ-ቅጥያ” ፣ LOG_NDELAY | LOG_CONS | LOG_PID ፣ LOG_LOCAL1) ፣ syslog (LOG_INFO ፣ “% s” ፣ “መረጃ”) ፣ slog (LOG_NOTICE ፣ “% s” ፣ “ማስታወቂያ”);; መዝጊያ (); ማመልከቻውን ሲጀምሩ ከሲሲሎግ ጋር መገናኘቱ ምክንያታዊ ነው ፣ እና ሲዘጋ ያላቅቁ።
ደረጃ 6
በዊንዶውስ ኦፐሬቲንግ ሲስተሞች ላይ ግቤቶችን ወደ የስርዓት ምዝግብ ማስታወሻዎች ለማከል የ EventLog ኤፒአይን ይጠቀሙ ፡፡ በተጠቀሰው ማሽን ላይ የምዝግብ ማስታወሻ ገላጭ ለማግኘት ለ RegisterEventSource ይደውሉ። ወደ ምዝግብ ማስታወሻ ላይ የሚጽፈውን የ ReportEvent ተግባር ሲደውሉ ይህንን እጀታ ይጠቀሙ ፡፡ ሲጨርሱ ግንኙነቱን ለመዝጋት እና በ RegisterEventSource የተመደቡትን ሀብቶች ለመልቀቅ ለዴግሪስተር ኤቨንትሶርስ ይደውሉ ፡፡ ከ EventLog ጋር አብሮ ለመስራት ቀላሉ ምሳሌ የሚከተለው ሊሆን ይችላል- HANDLE h =:: RegisterEventSource (NULL, "AnySource"); ASSERT (h! = NULL);:: ሪፖርቱ (h, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 3, 0, "Text1Text2Text3", NULL);:: DeregisterEventSource (h); እንደ ሲስሎግ ሁሉ ምዝገባን ለመዘገብ ትርጉም ይሰጣል ሲጀመር እና DeregisterEventSource በመተግበሪያ መዘጋት ላይ ፡፡