Pertanyaan Remote Debugging dalam Visual Studio (VS2008), Aplikasi Windows Forms


Saya mencoba Remote Debugging Aplikasi Windows Forms (C #), tetapi saya selalu mendapatkan kesalahan ini:

Tidak dapat terhubung ke Microsoft Visual Studio Remote Debugging Monitor   bernama 'XXX. Remote Studio Visual   Debugger pada komputer target tidak bisa   hubungkan kembali ke komputer ini.   Otentikasi gagal. Silakan lihat Bantuan   untuk bantuan.

Saya mencoba untuk mengkonfigurasi sesuai dengan panduan MSDN tetapi saya tidak dapat membuatnya bekerja.

Pengaturan saya:

  • Pengembangan Komputer - XP (x86) itu terhubung ke domain.
  • Uji Komputer - Vista (x86) itu TIDAK     terhubung ke domain.
  • Saya memiliki koneksi jaringan antara     Mesin-mesin.
  • Saya membuat pengguna lokal di Uji     komputer (user1) dengan nama domain saya     pengguna yang saya jalankan Visual Studio (mydomain \ user1). setup kata sandi yang sama.
  • Di Tes Komputer saya jalankan "msvsmon.exe" sebagai aplikasi (bukan sebagai layanan), saya menjalankannya menggunakan "runas" perintah dengan pengguna yang saya buat. (user1):

    runas / u: user1 msvsmon.exe

Bisakah seseorang tolong bantu saya?

Terima kasih.


32
2017-12-28 11:27


asal


Jawaban:


Inilah cara kerjanya bagi saya:

Komputer jarak jauh: Microsoft Virtual PC, "IHS \ RDM" yang melekat pada domain perusahaan saya, masuk sebagai jdoe, akun administrator.

Komputer lokal: Terlampir ke domain lokal, masuk sebagai jdoe, akun administrator.

1) komputer jarak jauh: instal rdbgsetup.exe (dari Visual Studio 2005 \ Disk 2 \ Remote Debugger \ x86)

2) Komputer jarak jauh: RUNAS / pengguna MYDOMAIN \ jdoe / netonly msvsmon

3) Komputer jarak jauh: msvsmon-> Alat-> izin menambahkan pengguna "MYDOMAIN \ jdoe" (Saya harus melakukan ini setiap kali saya memulai ulang)

4) komputer lokal: jalankan msvsmon.

5) komputer lokal, msvsmon-> Alat-> izin, tambahkan jenis objek: "komputer", "IHS \ RDM"

6) komputer lokal, vs2005-> debug-> lampirkan untuk diproses. Transport: Default, Kualifier: jdoe @ RDM

7) Segarkan, dan voila; daftar proses!


7
2018-02-04 22:25



Masalah yang saya miliki adalah saya memiliki 2 pengguna:

mydomain\user1
mytestmachine\user1

yang tidak benar (menurut Gregg Miskely) saya perlu mendefinisikan pengguna lokal di komputer pengembangan saya, misalnya:

mydevcomputer\debug
mytestmachine\debug

dengan kata sandi yang sama dan menjalankan VS2008 dan Monitor Debugging dengan pengguna ini:


9
2018-01-01 07:43



Gregg Miskely punya posting blog tentang mengapa akun layanan perlu memiliki hak istimewa admin (ketika diatur seperti itu). Salah satu poinnya adalah bahwa akun pengguna, dalam kasus Anda pengguna pada mesin Test, harus memiliki hak istimewa untuk menghubungkan kembali ke komputer lain. Kedengarannya seperti Anda memukul kasus di mana akun mydomain \ user1 memiliki hak yang tidak memadai untuk terhubung ke komputer pengembangan Anda.

Jika itu tidak membantu membaca tulisan blog Gregg, mengiriminya surat bisa membantu.


2
2017-12-28 17:47



Apakah TESTCOMPUTER\user1 memiliki kata sandi yang sama dengan mydomain\user1?

Anda juga dapat mencoba berlari msvsmon.exepada komputer target, bukan Layanan Remote Debugging. Anda dapat menggunakan "Run As ..." untuk menjalankannya di bawah berbagai kredensial. Setelah Anda bekerja sama msvsmon,exe Anda harus dapat menginstal (atau mengaktifkan kembali) Layanan Debugger Jauh setelah menjalankannya di bawah kredensial tersebut.

EDIT:

Anda harus dapat menggunakan halaman properti Izin di msvsmon.exe untuk mengatur izin debugging yang sesuai untuk pengguna domain Anda pada mesin target:

http://msdn.microsoft.com/en-us/library/ms164722.aspx


1
2017-12-28 12:24



Jadi Anda adalah pengembang dan salah satu pengguna Anda mendapatkan pengecualian, dan Anda ingin mendebugnya dari jarak jauh tanpa menutup jendela pengecualian, tetapi mereka masuk sebagai akun pengguna yang berbeda. Ternyata, Anda dapat men-debug aplikasi mereka, tetapi itu menjadi rumit.

0) Anda masih perlu mencocokkan akun lokal di kedua mesin aplikasi jarak jauh dan mesin Visual Studio lokal, yang berarti menambahkan akun ke komputer pengguna.

1) Anda harus menggunakan runas dengan opsi / netonly. Buka prompt perintah ke folder tempat msvsmon berada dan ketik

runas /user:[user] /netonly msvsmon

Ini menyebabkan msvsmon menggunakan kredensial pengguna hanya ketika mengakses jaringan (misalnya ketika msvsmon terhubung kembali ke mesin VS lokal). msvsmon akan kesal jika Anda memanggilnya dengan runas tanpa menggunakan / netonly.

2) Anda perlu menambahkan perizinan untuk mesin Visual Studio lokal untuk menghubungkan mesin aplikasi jarak jauh, melalui menu Alat-> Izin Akses Remote Debug.


1
2017-10-13 20:24



Jadi saya tidak dapat membalas tanpa akun, dan saya hanya dapat membalas komentar saya sendiri, tetapi akun terdaftar saya terpisah dari akun anonim yang saya posting, jadi ini harus menjadi "jawaban baru". Maaf.

baget - ketika saya membuat karya ini lebih awal hari ini, saya membuat akun lokal di kedua Remote Debug Monitor PC dan Visual Studio PC. RDM tidak ada di domain, VS dulu. Kedua akun lokal adalah administrator dengan kredensial yang identik dengan akun domain saya. Dari akun yang berbeda (juga administrator) saya memanggil runas dari prompt yang ditinggikan dengan switch netonly. Anda mungkin atau mungkin tidak perlu menyediakan domain Anda dengan nama pengguna, tetapi karena kata sandi harus cocok semua saya tidak berpikir itu penting.

Jangan lupa untuk menyesuaikan izin Anda di RDM untuk memungkinkan akun pengguna menjalankan VS untuk terhubung dengan hak istimewa Debug. Ini cukup pilih-pilih tentang siapa yang memungkinkan Anda menambahkan ke daftar, jadi jika Anda tidak membuat akun lokal pertama Anda akan merasa sangat frustrasi. Dan jika Anda menjalankan RDM dengan nama akun pengguna yang berbeda, Anda harus menggunakan nama server lengkap ketika mencoba melampirkan ke komputer jarak jauh; jika Anda menjalankan RDM dan VS dari akun pengguna yang sama maka Anda dapat lolos hanya dengan nama komputer.


0
2017-10-14 04:03