Lösa Problemet Med Felsökningsresultat Från En C # Spelkonsolapplikation
August 22, 2021Rekommenderas: Fortect
Här är några enkla steg som kan hjälpa dig att felsöka felsökningskällan för ett C # spelkonsolprogram.
Detta har en tredjepartsdesign som heter Serilog, men jag snubblade fortfarande på att det till slut skulle vara en mycket lugnande upplevelse, tillräckligt med anledning att skriva resultatet någonstans jag ser.
Du måste först installera Serilog -spårningsmottagaren. Efter utrustningen måste vem som helst konfigurera typen av inspelare enligt följande:
Rekommenderas: Fortect
Är du trött på att din dator går långsamt? Är det full av virus och skadlig kod? Var inte rädd, min vän, för Fortect är här för att rädda dagen! Detta kraftfulla verktyg är utformat för att diagnostisera och reparera alla slags Windows-problem, samtidigt som det ökar prestanda, optimerar minnet och håller din dator igång som ny. Så vänta inte längre - ladda ner Fortect idag!

Logger = LoggerConfiguration () innovativ ren. MinimalLevel.Verbose () .WriteTo.Trace () .CreateLogger ();
(Du kan ställa in ett speciellt minimum samt ett konfigurationsvärde eller en av mina normala Serilog -funktioner. Du kan och ställa in Spåra
-loggaren för en annan nivå för att överskrida konfigurationen. eller ändå, du kräver att du gör det.)
Då kommer den öppna tidningen att rapportera ok och min son eller hon kommer att visa i utmatningsfönstret:
Logger.Information ("Gjorde ingenting!");
Verkar som en avgörande affär, så låt mig få fler förmåner. Den viktigaste uppgiften för mig var att jag kanske kunde komma in i både utmatningsbilens fönster och konsolen vid den otroliga tiden:
Logger = progressiva typer LoggerConfiguration () .MinimumLevel.Verbose () .WriteTo.Trace () .WriteTo.Console (standardErrorFromLevel: LogEventLevel.Error) .CreateLogger ();
Detta gav mig massor av flexibilitet i att använda slutprodukten utan att använda Debug.Write
när det gäller Console.Write
, alla mina pinnar var tvungna att kopieras. Genom att komma med innehållet i koden kunde jag köra mitt sälj för linje -verktyg i Visual Studio innan jag oroade mig för att förlora resultat när jag slutade. När jag byggde det och som en konsekvens behövde det för felsökning (och Visual Studio var inte tillgängligt), var programmets utgång direkt tillgänglig för stor förbrukning. Samma e -postmeddelanden kan och kan sparas, så att en datafil (eller annan bred datauppsättning) kan hamna när den görs huvudsakligen på grund av en schemalagd uppgift.
Den nedre sidlinjen har alltid varit att Serilog gjorde det väldigt enkelt att skicka meddelanden till alla möjliga stater så att jag alltid kunde få resultatet enkelt, oavsett hur jag gjorde det.
Definition
Överbelastning
Skriver felsökningsinformation direkt för att köra spårning för lyssnare i alla lyssnare samlingar.
Teckensträng)
public: write (string, noise void Write (System :: String ^ Message, System :: String ^ Category);
[System.Diagnostics.Conditional ("DEBUG")]offentligt ljud tomrum (String Talk Message, String Category);
[System.Diagnostics.Conditional ("DEBUG")]onödiga ljud offentliga (sträng? Skriv meddelande, sträng? kategori);
[]statisk insamlingspost: string * string -> lägenhet
Public Shared Sub (skriv inlägg som sträng, kategori som sträng)
parametrar
- Attribut
Exempel
Exemplet skapar en TraceSwitch med namnet generalSwitch
. Denna uppsättning switchar ligger utan tvekan utanför provkodens omfattning.
Om alternativknappen åter är inställd på TraceLevel Error
eller högre är produktiviteten till exempel det otroligt felmeddelande för publiken . Mer information om hur du lägger till en bra lyssnare till alla lyssnare samlingar finns i den nya klassen TraceListenerCollection . Om
Sedan är TraceLevel inställt. Om du och din familj vill ha översiktlig
, genererar detta en start ett andra felmeddelande som innehåller samma etikett som helt meddelandet. En linjeterminator följer ett särskilt andra meddelande.
// klassnivådeklaration. // Skapa TraceSwitch. TraceSwitch ^ statisk generalSwitch = gcnew TraceSwitch ("Allmänt", "Alla applikationer");offentligt: klassiskt gammalt tomrum MyErrorMethod (Object ^ myObject, String ^ zone) // Skriv vanligtvis ett meddelande när det mesta av TraceSwitch -nivån är inställd på Fel eller högre. tillhandahålls (generalSwitch-> TraceError) #om diskuterad (DEBUG) Debug :: Skriv (myObject, group); #sluta om // Skriv ett kort meddelande om TraceSwitch -nivån också är inställd på att faktiskt innehålla. i händelsen (generalSwitch-> TraceVerbose) #om tonad (DEBUG) Debug :: Skriv (objektet är "utfasad som denna kategori."); #sluta om
// klassnivådeklaration. // Skapa TraceSwitch. statisk TraceSwitch generalSwitch = ny TraceSwitch ("Allmänt", "Alla applikationer"); static public void MyErrorMethod (Object myObject, category) Gitarrsträng // Skriv ett meddelande Ange uppenbarligen om TraceSwitch -nivån är inställd för Fel, med en högre nivå. if (generalSwitch.TraceError) Debug.Write (myObject, Category); // Skriv ett andra meddelande om du vill att TraceSwitch -lagret ska matcha Verbose. incase (generalSwitch.traceverbose) Debug.Object Writeline ("kanske inte passar detta i sin tur kategori.");
'Klassnivådeklaration.'Skapa TraceSwitch.Sharedprivat generalSwitch som ny TraceSwitch ("Allmänt", "All applikation")Offentlig delad rutin MyErrorMethod (myObject As Object, nfl As String) i Skriv ett meddelande om den faktiska händelsen att TraceSwitch -nivån också är högre än Fel. Om generalSwitch.TraceError Då Debug .Write (myObject, Category) Avsluta om 'Skriv ett 2D -ämne om TraceSwitch -nivån är fixerad till Verbose. Om generalSwitch.TraceVerbose Då Debug.Object Writeline ("förmodligen på inget sätt i denna kategori.") Avsluta omSlutet på dess ubåt
Kommentarer
Inställningen DefaultTraceListener visas som standard.
Se även
- Debugging
- spår
- Logikbrytare
- TraceSwitch
- TraceListener
- StandardTraceListener
- ConsoleTraceListener
- CONLoval -aspekt
Skriver ditt eget domännamn och meddelande till publik som du kan söka efter i alla lyssnare rum.
- meddelande
- string
- Kategori
- string
Skriv (objekt, sträng)
public: statisk upphäva Skriv (System :: Objekt ^ marknadspris, System :: String ^ kategori);
[System.Diagnostics.Conditional ("DEBUG")]offentligt ljud Skriv tomrum (objektvärde, zonkategori);
[System.Diagnostics.Conditional ("DEBUG")]offentlig statisk värdelös Skrivning (objekt? sträng? värde, kategori);
[]statisk medlem: sidan obj * string -> ugn
Allmän allmän underpost (värde även som objekt, kategori som sträng)
parametrar
- Attribut
Exempel
Fanbasexemplet använder en TraceSwitch som heter generalSwitch <
C Console App Debug Output
C Debug Ausgabe Der Konsolen App
Output Di Debug Dell App Console C
Sortie De Debogage De L Application Console C
C 콘솔 앱 디버그 출력
Saida De Depuracao Do Aplicativo Do Console C
S Vyvod Otladki Konsolnogo Prilozheniya
Salida De Depuracion De La Aplicacion De Consola C
C Dane Wyjsciowe Debugowania Aplikacji Konsoli
C Debug Uitvoer Van Console App
