2009-02-05 19 views
8

Czy można zdalnie debugować proces rozpoczęty poza VB6?Zdalne debugowanie w VB6

Aplikacja jest aplikacją VB6 z kilkoma zasobami dll/ocx. Próbuję skonfigurować wdrożenie ClickOnce, używając COM bez rejestracji, aplikacji VB6, ale otrzymuję błędy po uruchomieniu.

Moje zrozumienie sposobu, w jaki VB6 przekierowuje rejestracje COM, prawdopodobnie oznacza, że ​​nie jest to możliwe, ale myślałem, że ktoś może mieć lepszy pomysł.

Odpowiedz

3

Wierzę, że podczas debugowania w VB6, nie dołącza do działającego pliku binarnego, ale interpretuje kod w ramach własnego procesu. Właśnie dlatego Menedżer zadań i interfejsy API Win32 pokazują VB6.exe jako działającą aplikację podczas debugowania.

Także, jak mówisz, VB6 czasami powoduje zwarcie wywołań do bibliotek COM, więc przechwytywanie tych wywołań nie zawsze jest możliwe.

Prawdopodobnie będziesz musiał uciekać się do inteligentnego rejestrowania (tj. Rejestrować wartości zmiennych wokół punktów, w których pojawiają się błędy w nadziei, że zlokalizujesz linię kodu, na której się znajduje, i/lub stan odpowiednich zmiennych.)

Powodzenia

+0

Logowanie było ścieżką, którą zakładałem, że będę musiał wziąć. Po prostu nie oczekiwał retro dopasowania wiele dodatkowych logowania do istniejącej aplikacji. – benPearce

3

Czy próbowałeś windbg? Tylko upewnij się, że masz pliki pdb dla projektu.

8

Wspieranie odpowiedź Darryl za sugerujące Windbg - oto 2006 blog post przez Microsoft faceta o korzystaniu WinDBG z VB6 i 2004 blog post przez inną Microsoft facet z krótkim wprowadzeniem do WinDbg.

EDYCJA: Tylko po to, aby było całkowicie jasne. Windbg to darmowy samodzielny debugger firmy Microsoft. Skompiluj pliki EXE, DLL i OCX VB6 do natywnego kodu za pomocą symboli (utwórz pliki PDB), a będziesz mógł debugować aplikację ClickOnce.

Powiązane problemy