Mam przystawkę MMC, którą próbuję debugować. Obecnie poniższy kod, umieszczony w konstruktorze Snap-in, w prace w zakresie przyłączania debugera do niego:Debugger nie dołącza do procesu
public MySnapIn()
{
#if DEBUG
if (!Debugger.IsAttached)
{
Debugger.Launch();
}
#endif
...
}
ale jest naprawdę irytujące, zawsze trzeba dołączyć debugera do Visual Studio. Chcę zautomatyzować ten proces. Idealnie byłoby po prostu nacisnąć F5 i automatycznie dołącza debugger. Próbowałem następujące:
- Właściwości Project -> Uruchom program zewnętrzny -> wpisane w "C: \ Windows \ System32 \ mmc.exe" Właściwości
- Project -> argumentów wiersza poleceń -> Dał to Ścieżka do pliku .msc (przechowuje układ snap-in, dzięki czemu ładowanie jest łatwiejsze za każdym razem, dzięki czemu nie zawsze trzeba File -> Add/Remove Snap-in).
To nie zadziałało. Debugger nie zostanie dołączony automatycznie. Jak mogę zautomatyzować ten proces lub blokowanie automatycznego debugowania?
+1 po prostu za nauczenie mnie, jak poprosić o dołączenie debuggera ('Debugger.Launch()'). Nie wiedziałem, że to możliwe. – stakx
@stakx Działa * przez większość czasu *. Jeśli masz na przykład usługę Windows lub jakiś inny rodzaj aplikacji, która nie powinna mieć GUI (zgodnie z miękkim mikro), to nie działa: http://stackoverflow.com/questions/12042054/debugger -launch-on-windows-service-in-windows-8 Możesz również chcieć poznać WER jako narzędzie do debugowania (generuje zrzuty po awarii, dzięki zrzutom awaryjnym możesz załadować je do Visual Studio i ponownie podłączyć debugger w punkcie awarii i zobaczyć stan wszystkich obiektów aplikacji). – Alexandru
@stakx WER wymaga jedynie zmiany klucza rejestru (http://msdn.microsoft.com/en-us/library/windows/desktop/bb787181(v=vs.85).aspx) i plików PDB. Możesz także generować zrzuty z Menedżera zadań (CTRL + SHIFT + ESC -> kliknij prawym przyciskiem myszy aplikację -> Wygeneruj plik zrzutu) – Alexandru