2008-09-16 13 views
10

Czy można zainstalować zdalny debuger x86 jako usługę na maszynie 64-bitowej? Muszę dołączyć debugger do kodu zarządzanego w procesie sesji 0. Proces działa 32-bitowo, ale usługa debugowania, która zostanie zainstalowana, jest 64-bitowa i nie będzie dołączana do procesu 32-bitowego.x86 Usługa zdalnego debugowania na x64

Próbowałem utworzyć usługę przy użyciu polecenia SC i udało mi się uruchomić usługę i zweryfikowano, że działa ona w procesach Menedżera zadań. Jednak gdy próbowałem połączyć się z nim za pomocą visual studio, powiedział, że zdalny monitor debuggera nie został włączony. Po zatrzymaniu usługi x86 uruchomiłem usługę x64 i udało mi się znaleźć monitor, ale nadal wystąpił błąd.

Oto błąd, gdy próbuję użyć zdalnego debuggera: Nie można dołączyć do procesu. 64-bitowa wersja programu Visual Studio Remote Debugging Monitor (MSVSMON.EXE) nie może debugować 32-bitowych procesów ani zrzutów 32-bitowych. Zamiast tego użyj wersji 32-bitowej.

Oto błąd, gdy próbuję dołączyć lokalnie: Dołączanie do procesu w innej sesji serwera terminali nie jest obsługiwane na tym komputerze. Wypróbuj zdalne debugowanie na komputerze i uruchom Microsoft Remote Studio Remote Debugging Monitor w sesji procesu.

Gdy próbuję uruchomić 32-bitowy zdalnego debugera jako aplikacji, to nie będzie działać dołączyć b/c Remote Debugger jest uruchomiony w moim sesji i nie w sesji 0.

+0

Czy możesz podać więcej szczegółów na temat problemu? jaka jest usługa 32-bitowa, o której mowa? Czym dokładnie jest błąd - sugerujesz, że jest to bitness, ale 64-bitowy debugger powinien być w stanie załadować 32-bitowy kod zarządzany, afaik. – x0n

Odpowiedz

16

To działa na moim komputerze (TM) po zainstalowaniu rdbgsetup_x64.exe i przechodząc przez kreatora konfiguracji:

sc stop msvsmon90 
sc config msvsmon90 binPath= "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe /service msvsmon90" 
sc start msvsmon90 
+0

Działa to doskonale dla mnie dzięki! Wziąłem wiele poszukiwań, aby znaleźć ten klej + 1 głos ode mnie. – Xander

3

nie próbowałem tego, ale oto i tak sugestia:

Spróbuj ręcznie zainstalować usługę zdalnego debugowania x86.

sc create "Remote Debugger" binpath= "C:\use\short\filename\in\the\path\x86\msvsmon.exe /service msvsmon90" 

Dwie uwagi:

  • Musisz używać krótkich nazw w drodze do msvsmon.exe do zapobiec konieczności podać ścieżkę (ponieważ cała komenda musi być w cudzysłowie)
  • musi być spacja po "binpath =" (i bez spacji przed znakiem '='). Ktokolwiek napisał parser wiersza komend dla polecenia sc powinien zostać przeklęty.

Następnie można użyć apletu panelu usług services.msc, aby uruchomić go z odpowiednimi poświadczeniami.

Prawdopodobnie będziesz musiał zatrzymać, a może nawet usunąć istniejącą usługę zdalnej debugowania x64.

3

mogę potwierdzić, że to, co chcesz zrobić, będzie rzeczywiście działać. Często łączę moją 32-bitową stację roboczą xp z serwerem x200 win2003 z zdalnym debugerem VS2008.

7

Ten sam problem wystąpił podczas próby zdalnej debugowania witryny internetowej, która działa w trybie 32-bitowym w 64-bitowych usługach IIS.

Można też to zrobić:

  • Zatrzymaj usługę domyślną debugowanie (który będzie 64 jako instalator zostaną mądry i skonfigurowany że jeden do uruchomienia).
  • Przejdź do folderu Remote Debugger start i uruchom usługę debugowania x86 . Zignoruj ​​ostrzeżenie o wartości 322/64bit.
  • Otwórz okno Opcje> Narzędzia- app oknie zdalnego debugera i uczynić
    zanotować wartości w „Server
    Nazwa” polu tekstowym.
  • Teraz można podłączyć visual studio niej kopiując „Nazwa serwera”
    wartość w polu „kwalifikator” text/kombi pola na formularzu Dołącz do procesu dialogowe
    Visual Studio.

Na powiązana uwaga, nie jest też błąd niskiego poziomu z uwierzytelnianiem Kerberos, jeśli są mocowania z Windows 2008/7/Vista na maszynie 2003, opisane tutaj: http://www.labs.jobserve.com/Articles.aspx/Remote-debugging-code-on-Windows-2003-from-Vista-or-Windows-72008-R2 i raportowane do SM (ostatnio zamknięte "zewnętrzny") przez Connect tutaj: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=508455

+0

Zgłoszono nowy błąd w MS Connect dotyczący problemu z uwierzytelnianiem Kerberos tutaj: https://connect.microsoft.com/WindowsServerFeedback/feedback/ViewFeedback.aspx?FeedbackID=518848. Jeśli ktoś napotka na ten problem, to zagłosuj na niego - mam podejrzenie, że zespół Windows po prostu odrzuci go z powrotem do zespołu VS. –

+0

To zadziałało jak dla mnie urok! Dzięki! Po prostu musiałem uruchomić opcję x86 z menu startowego. O wiele łatwiejsze niż radzenie sobie z usługą. –

+0

Działa dla mnie, ale miałem jeszcze jeden krok - komunikat "tak/nie" na serwerze, aby zezwolić na połączenie przychodzące po tym, jak wszedł do kwalifikatora z pola hosta. –

0

Pracował dla mnie bez instalowania dodatkowego oprogramowania. Właśnie skopiowałem folder C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger na maszynie wirtualnej i uruchomiłem msvsmon.exe z folderu x86. Zarówno mój gość, jak i gospodarz to x64.

0

1) Zainstaluj wersję x64. To również instaluje debugger x86, ale nie tworzy skrótu.

2) można znaleźć pliku wykonywalnego procesu x86 debugowania tutaj ... C: \ Program Files \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Remote Debugger \ x86 \ msvsmon.exe

3), jeśli chcesz, przypnij go do paska zadań.

0

Niekiedy ten błąd wystąpił, po prostu zamykam studio graficzne i otwieram je ponownie, wszystko jest w porządku!

Bardzo dziwne zachowanie od

Powiązane problemy