c# force debug-Modus programmgesteuert

Nevermind, warum man dies möglicherweise tun möchten, ich bin nur neugierig zu wissen, wenn es getan werden kann.

Hier ist mein code, der nicht funktioniert:

if (!Debugger.IsAttached)
{
    try
    {
        Debugger.Launch();
        while (!Debugger.IsAttached)
        {
            Thread.Sleep(1000);
        }
    }
    catch (System.Security.SecurityException e)
    {
        Console.WriteLine("exception " + e.Message);
    }
}

Im Grunde war ich neugierig zu wissen, wie die Debugger.Launch() Methode.

  • Sie Frage ist nicht klar. Können Sie genauer beschreiben, was Sie suchen, zu tun?
  • Mein Ziel war es, um den debugger zu starten programmgesteuert, D. H. zum befestigen an den Prozess, der ausgeführt wird über den Prozess selbst.
  • Dies funktionierte wirklich gut für mich. Ich war nicht in der Lage, um einen debugger anfügen an einen Prozess, sobald er gestartet wird (auch unter Verwendung von "gflags", vsjitdebugger, und windbg). Nicht nur startete eine VS-debugger für mich, sondern auch löste eine sofortige Haltepunkt. Es fand auch PDB-Dateien, die aus welchem Grund auch immer nicht gefunden werden konnte, wenn Sie manuell anfügen an einen Prozess (auch mit dem richtigen Pfade setzen). Danke!!!
  • froh, dass es geholfen hat. Als follow-up zu diesem, basiert auf, wie dies umgesetzt wird: referencesource.microsoft.com/#mscorlib/system/diagnostics/... , ich denke, es war unnötig von mir, bitte für den Debugger.IsAttached, da es bereits überprüft, dass unter der Haube. So ein Debugger.Start () - Aufruf sollte genug sein, in der Nähe der entrypoint des Programms und die nachfolgenden Haltepunkte sollten nur Debugger.Pause().
InformationsquelleAutor user420667 | 2011-09-18
Schreibe einen Kommentar