ምዝግቦችን እንዴት እንደሚጽፉ

ዝርዝር ሁኔታ:

ምዝግቦችን እንዴት እንደሚጽፉ
ምዝግቦችን እንዴት እንደሚጽፉ

ቪዲዮ: ምዝግቦችን እንዴት እንደሚጽፉ

ቪዲዮ: ምዝግቦችን እንዴት እንደሚጽፉ
ቪዲዮ: 穷小子被羞辱离场,孟非当场叫回他,接下来的一幕实在太解气… 2024, ግንቦት
Anonim

ዛሬ አብዛኛዎቹ የትግበራ እና የስርዓት ትግበራዎች በየጊዜው ስለ ሥራቸው ሂደት ፣ ስህተቶች እና ውድቀቶች ተብለው በሚጠሩ ልዩ መዝገቦች ውስጥ ያሉ መረጃዎችን በየጊዜው ይቆጥባሉ ፡፡ አብዛኛዎቹ አጠቃላይ-ዓላማ ኦፐሬቲንግ ሲስተሞች መደበኛ የፕሮግራም በይነገጽን በመጠቀም ምዝግብ ማስታወሻዎችን እንዲጽፉ የሚያስችሉዎትን አገልግሎቶች ይሰጣሉ ፡፡

ምዝግብ ማስታወሻዎችን እንዴት እንደሚጽፉ
ምዝግብ ማስታወሻዎችን እንዴት እንደሚጽፉ

አስፈላጊ

  • - ሲ አጠናቃሪ;
  • - የዊንዶውስ መድረክ SDK;
  • - ለግሪቢክ ጥቅል ያዘጋጁ ፡፡

መመሪያዎች

ደረጃ 1

በዊንዶውስ ቤተሰብ ኦፕሬቲንግ ሲስተሞች ስር ለመስራት ከተሰራው መተግበሪያዎ ውስጥ የምዝግብ ማስታወሻዎችን ለመፃፍ የምዝግብ ማስታወሻ ድጋፍን ይጨምሩ ፡፡

ማመልከቻውን እንደ የዝግጅት ምንጭ ለማስመዝገብ የ RegisterEventSource ኤፒአይ ተግባርን ይጠቀሙ ፣ የሪፖርተርን ተግባር ምዝግብ ማስታወሻን ለማስገባት እና የ “RegereEventSource” ተግባር በ RegisterEventSource የተመለሰውን እጀታ ለመዝጋት ይጠቀሙ ፡፡

በማመልከቻው ጅምር ወቅት RegisterEventSource ን መጥራት እና የተመለሰውን ገላጭ ሁል ጊዜ መቆጠብ ምክንያታዊ ነው ፣ ስለሆነም በመዝገቡ ውስጥ ያሉ ግቤቶች በፕሮግራሙ ውስጥ ከተለያዩ ቦታዎች እንዲቀመጡ ፡፡ በዊንዶውስ መዝገብ ላይ ለመፃፍ በጣም ቀላሉ ምሳሌ እንደዚህ ይመስላል:

HANDLE hLog = RegisterEventSource (NULL, "MyApplicationName");

ከሆነ (hLog! = NULL)

{

ከሆነ (ሪፖርት ዘጋቢ (hLog ፣ EVENTLOG_INFORMATION_TYPE ፣ 0 ፣ 0 ፣ ሙሉ) ፣

1, 0, "የመልዕክት ጽሑፍ / 0", NULL))

{

// ክስተት በተሳካ ሁኔታ ገብቷል

}

DeregisterEventSource (hLog);

}

ስለ “ReportEvent” ተግባር ፍቺ ተጨማሪ ዝርዝሮች በ MSDN በ https://msdn.microsoft.com/en-us/library/windows/desktop/aa363679%28v=vs.85%29.aspx ማግኘት ይችላሉ ፡፡ በተጨማሪም ፣ ስለ ትግበራው ሊተገበር የሚችል ሞዱል በስርዓት መዝገብ ውስጥ የተወሰነ መረጃን ማስቀመጥ እና ሞጁሉን በራሱ ወይም በሶስተኛ ወገን ተለዋዋጭ ቤተ-መጽሐፍት ውስጥ በተወሰነ ቅርጸት ሀብቶችን ማከል ያስፈልግዎታል ፡፡ ለዝግጅት ምዝገባው አገልግሎት የመመዝገቢያ ቁልፎች ላይ ተጨማሪ መረጃ ለማግኘት

ደረጃ 2

በሊኑክስ-ተኳሃኝ ስርዓተ ክወናዎች ላይ ምዝግብ ማስታወሻ አብዛኛውን ጊዜ ሲስሎግ ዴሞን በመጠቀም ሊከናወን ይችላል። ይህ አገልግሎት በተግባሮች ስብስብ መልክ የመተግበሪያ ደረጃ በይነገጽ አለው ፣ መግለጫዎቹ በ syslog.h ራስጌ ፋይል ውስጥ ይቀመጣሉ።

ከመተግበሪያ ወይም ከቤተ-መጽሐፍት ከሲሲሎግ አገልግሎት ጋር ግንኙነት ለመፍጠር የመክፈቻውን ተግባር ይጠቀሙ። መልዕክቶችን በምዝግብ ማስታወሻው ውስጥ ለማስገባት ወደ ሴስሎግ ወይም vsyslog ተግባራት ይደውሉ። የምዝገባ ዝግጅቶችን ካጠናቀቁ በኋላ ወይም ማመልከቻው ሲወጣ የአቅራቢው ተግባር በመደወል ከአገልግሎቱ ጋር ያለውን ግንኙነት ይዝጉ ፡፡ በተጨማሪም ፣ የ setlogmask ተግባሩን በመጠቀም የክስተት መዝገቦችን የሚጨምሩ ጥሪዎች ችላ እንዲሉ ቅንብሮቹን ማዋቀር ይችላሉ። ወደ ምዝግብ ማስታወሻ መልእክቶችን የመጻፍ ምሳሌ እንደዚህ ይመስላል:

ክፍት ማውጫ ("የእኔ መተግበሪያ" ፣ LOG_CONS | LOG_PID | LOG_NDELAY ፣ LOG_LOCAL1);

syslog (LOG_NOTICE ፣ "የእኔ መተግበሪያ በ PID% d ተጀምሯል" ፣ getuid ());

syslog (LOG_INFO, "የመረጃ መልእክት!");

የተጠጋጋ ();

ስለ syslog ኤፒአይ ተግባራት መለኪያዎች የበለጠ መረጃ ለማግኘት የ libc info ሰነድን ይመልከቱ።

ደረጃ 3

የዝግጅት ጽናት ንዑስ ስርዓት የራስዎን ትግበራ በመጠቀም በዘፈቀደ ፋይሎች ምዝግብ ማስታወሻዎችን ይጻፉ ፡፡ ለዚህ ችግር ቀላሉ መፍትሔዎች አንዱ በአለም አቀፍ ደረጃ በርካታ ተግባራትን መፍጠር ሲሆን ከእነዚህ ውስጥ አንዱ በመደመር የመረጃ ሞድ ውስጥ አንድ የተወሰነ ስም ያለው ፋይል ይከፍታል ፣ ሁለተኛው ይዘጋዋል ፣ ሦስተኛው ደግሞ እንደ እሱ የተላለፈ የመልእክት ገመድ ያክላል ለዚህ ፋይል መለኪያ። በአስተያየት ይህ መፍትሔ በሊኑክስ ውስጥ ካለው የሲሲሎግ የፕሮግራም በይነገጽ ጋር ይመሳሰላል።

በቅደም ተከተል ፋይልን ለመክፈት እና ለመዝጋት የ C ደረጃውን የጠበቀ ቤተ-መጽሐፍት የፎፕን እና የፍሎዝ ተግባራትን ይጠቀሙ። በፋይሉ ላይ መረጃን ለማከል fwrite ይደውሉ። እንዲሁም የመሣሪያ ስርዓት-ተኮር ተግባራትን (ለምሳሌ ፣ በዊንዶውስ ስር ፍጠር ፋይልን) እና ከፋይሎች ጋር አብሮ የመሥራትን ተግባር የሚያጠቃልሉ ማዕቀፎችን የተጠቀሙባቸው ዘዴዎችን መጠቀም ይችላሉ ፡፡

የሚመከር: