C# aplikasi desktop pada express edition. Bekerja kemudian didn't bekerja 5 detik kemudian.
Saya mencoba yang berikut ini.
Saya memiliki dua WinForms proyek-proyek di solusi. Salah satu dari mereka beban-beban debug info, salah satu doesn't. Keduanya merujuk kepada majelis I'm mencoba untuk mendapatkan info debug di dalam cara yang persis sama dalam file proyek. Ada ide?
Saya ingin menambahkan di sini, sebagian besar untuk diri saya ketika saya datang kembali untuk meninjau pertanyaan ini, bahwa simbol-simbol tersebut tidak dimuat sampai perakitan dimuat, dan majelis tidak dimuat sampai dibutuhkan. Jika breakpoint di perpustakaan yang hanya digunakan dalam satu fungsi dalam perakitan utama, simbol-simbol yang tidak akan dimuat (dan itu akan menunjukkan breakpoint tidak dipukul) sampai fungsi yang disebut.
Start debugging, segera setelah anda've tiba di breakpoint atau digunakan Debug > Break Semua
, gunakan Debug > Windows > Modul
. Anda'll melihat daftar semua majelis yang dimuat ke dalam proses. Menemukan satu yang anda ingin dapatkan info debug untuk. Klik kanan dan pilih Simbol yang Memuat Informasi. Anda'll mendapatkan dialog yang berisi daftar semua direktori di mana ia tampak untuk .pdb file untuk perakitan. Pastikan bahwa daftar melawan yang sebenarnya .pdb lokasi. Pastikan itu doesn't menemukan satu yang lama.
Dalam proyek yang normal, perakitan dan .pdb file harus selalu telah disalin oleh IDE ke dalam folder yang sama seperti anda .exe. Bin\Debug folder proyek anda. Pastikan anda menghapus salah satu dari GAC jika anda've telah bermain dengan itu.
Pertama kali mencoba membangun kembali proyek anda dengan klik kanan mouse proyek > Membangun kembali Jika itu doesn't bekerja, cobalah bersih dari proyek tersebut (klik kanan pada project > bersih)
Jika itu tidak't bekerja memeriksa ini:
(langkah 6 menghasilkan .file pdb, ini adalah debugging symbols)
Hanya sesuatu yang sederhana untuk mencoba - anda mungkin telah mencoba itu sudah. Klik kanan Solusi dalam solusi explorer, klik "solusi bersih", ini akan menghapus semua disusun dan file-file sementara yang berhubungan dengan solusi.
Lakukan rebuild solusi dan mencoba untuk men-debug lagi.
I've juga memiliki masalah dengan breakpoints beberapa proyek di solusi - beberapa disusun sebagai x86, beberapa x64.
Cross posting ini memperbaiki dari Hans K yang saya temukan di thread yang sama di >> DISINI <<:
klik Kanan pada solution --> Sifat
Lihat di bawah sifat-Sifat Umum --> Proyek Startup
Pilih beberapa proyek startup
pilih Start action pada proyek-proyek yang anda butuhkan untuk men-debug.
Jawaban yang dipilih menyebabkan saya untuk memperbaiki masalah saya. Tapi aku harus melakukan beberapa hal lebih lanjut:
Bahkan dengan "Debug" pilih di dropdown:
Dan dalam proyek Properti > Membangun:
Visual Studio tidak memuat simbol-simbol untuk suatu proyek tertentu. Jadi dalam dropdown saya pilih "Konfigurasi Manager" dan melihat bahwa pengaturan untuk web saya proyek ini adalah salah:
Kemudian saya menetapkan bahwa untuk "Debug" dan mulai menghasilkan .pdb
file.
TAPI saya perlu secara manual menyalin PDB dan DLL dan dimasukkan ke dalam folder yang DIBANDINGKAN adalah pilihan yang sempurna (di sini adalah di mana jawaban yang dipilih membantu saya):
Debug
> Windows
> Modul
untuk melihat apa modul yang dimuat menempatkan saya dalam arah yang benar.
Dalam kasus saya IIS Express tampaknya loading yang berbeda DLL sementara ASP.NET file.
Solusi?
C:\Users\<USER>\AppData\Local\Temp\Temporary ASP.NET File\vs
Saya bisa memperbaiki kesalahan dengan hanya menetapkan pilihan di 'Melampirkan Proses' untuk 'secara Otomatis menentukan jenis kode debug' pilihan seperti yang ditunjukkan pada gambar terlampir.
Cukup ikuti langkah-langkah di bawah ini:
Periksa jika anda .pbd file hilang di bin/Debug folder. Jika kemudian pergi ke "Sifat" proyek anda, dipilih "Membangun" dan kemudian "Maju" di bagian bawah. Memilih "full" dalam "Debug info" pada jendela baru yang muncul. Ini adalah masalah saya dan dipecahkan itu untuk saya.
Kadang-kadang, meskipun ini memberi anda kesalahan ini, breakpoint
masih mendapat untung, jadi hanya mengabaikan kesalahan. Hal ini terjadi cukup sering dalam Pandangan
dari sebuah MVC web app
.
Dalam kasus saya, "Mengoptimalkan Kode" diperiksa dalam proyek properti. Ini disebabkan VS untuk melihat perakitan sebagai "saya tidak kode", dan pada gilirannya, hal itu tidak memuat simbol-simbol itu.
Kami menemukan penyebab dari masalah kita. Kode ini menggunakan "CodeBehind" atribut di Halaman arahan .aspx bukan "CodeFile" atribut (ASP.NET 2.0 dan seterusnya). Setelah beberapa hari putus asa, pencarian sederhana dan mengganti memecahkan masalah.
Aku mencoba segala sesuatu yang disebutkan di atas, tetapi tidak ada yang berhasil. [Solusi yang bersih, dan memeriksa file PDB dll.]
Bahkan penerbitan solusi yang sama tidak menyelesaikan masalah.
Kemudian aku pergi untuk kembali kepada apa yang biasanya saya lakukan untuk mengatasi (bodoh ini yang membandel Visual Studio)
Semua yang saya lakukan adalah untuk membuat perubahan yang disengaja dalam kode dan mempublikasikan solusi. Kemudian aku kembali mengubah dan diterbitkan lagi.
Voila [file PDB menyingkirkan roh-roh jahat].. Tidak pintar resolusi, tapi ini tidak bekerja.. :-|
Tidak satupun dari jawaban-jawaban memecahkan masalah saya. Saya mencoba hal lain didasarkan pada fakta bahwa proyek dengan motel't dalam kenyataannya dimuat proyek. Saya menemukan seperti Hans Passant menulis bahwa .dll dll di mana saya ingin berhenti debugger dan associoated .file pdb mana disalin dekat .file exe. File-file tersebut telah memiliki tanggal tua jadi saya pikir mereka tidak't diperbarui dalam runtime. Saya secara manual menghapus mereka, Visual Studio membuat pasangan lain DAN menempatkan ini baru pasangan dekat .exe. Sekarang breakpoins bekerja !
Mungkin Visual Studio tidak dapat menyalin dan MENGGANTI file yang sudah ada (.dll dan .pdb) dekat .exe karena ada yang lain di sana. Jadi jika saya menghapus secara manual maka VS dapat membuat yang baru dekat .exe.
Saya pikir yang lain perubahan (cek, dan sebagainya dari satu jawaban) memicu sesuatu dan Visual Studio disalin dan diganti dll dan pdb dari proyek folder ke folder di exe, jadi itu sebuah solusi.
Saya berpikir bahwa akar penyebab dari masalah ini adalah bahwa Visual Studio menggunakan file lain dalam runtime, tidak ada berkas dari proyek, dengan berhenti.
Mungkin ini jawaban untuk membantu seseorang !