Aplikasi desktop C # pada edisi ekspres. Bekerja maka tidak berfungsi 5 detik kemudian.
Saya mencoba yang berikut ini.
Saya memiliki dua proyek WinForms dalam solusinya. Salah satunya memuat info debug, satu tidak. Keduanya merujuk ke Assembly yang sedang saya coba untuk mendapatkan info debug dengan cara yang persis sama dalam file proyek. Ada ide?
Saya ingin menambahkan di sini, sebagian besar untuk diri saya sendiri ketika saya kembali untuk meninjau pertanyaan ini, bahwa simbol tidak dimuat sampai Majelis dimuat, dan Majelis tidak dimuat sampai diperlukan. Jika breakpoint berada di pustaka yang hanya digunakan dalam satu fungsi di Majelis utama Anda, simbol tidak akan dimuat (dan itu akan menunjukkan breakpoint sebagai tidak dipukul) sampai fungsi itu dipanggil.
Mulai debugging, segera setelah Anda tiba di breakpoint atau menggunakan Debug > Break All
, gunakan Debug > Windows > Modules
. Anda akan melihat daftar semua majelis yang dimuat ke dalam proses. Temukan yang Anda ingin dapatkan info debugnya. Klik kanan dan pilih Symbol Load Information. Anda akan mendapatkan dialog yang mencantumkan semua direktori tempat mencari file .pdb untuk Majelis. Verifikasi daftar itu terhadap lokasi .pdb yang sebenarnya. Pastikan tidak menemukan yang lama.
Dalam proyek normal, file Assembly dan .pdb-nya harus selalu disalin oleh IDE ke folder yang sama dengan .exe Anda. Folder bin\Debug proyek Anda. Pastikan Anda menghapus satu dari GAC jika Anda telah bermain dengannya.
Pertama-tama coba membangun kembali proyek Anda dengan klik kanan pada proyek mouse> Rebuild.
Jika tidak berhasil periksa ini:
(langkah 6 menghasilkan file .pdb, ini adalah simbol debugging)
Hanya sesuatu yang sederhana untuk dicoba - Anda mungkin sudah mencobanya. Klik kanan Solusi dalam solusi Explorer, klik "solusi bersih", ini menghapus semua file yang dikompilasi dan sementara yang terkait dengan solusi .
Lakukan pembangunan kembali solusi dan coba debug lagi.
Saya juga punya masalah dengan beberapa proyek breakpoints dalam solusi - beberapa dikompilasi sebagai x86, beberapa sebagai x64.
Nonaktifkan opsi "Just My Code" di pengaturan Debug/Umum.
Lintas memposting perbaikan ini dari Hans K yang saya temukan di utas serupa >> DI SINI << :
Klik kanan pada solusi -> Properties
Lihat di bawah Common Properties -> Startup Project
Pilih beberapa proyek startup
pilih Mulai tindakan pada proyek yang perlu Anda debug.
Jawaban yang dipilih membuat saya memperbaiki masalah saya. Tetapi saya perlu melakukan beberapa hal lagi:
Bahkan dengan "Debug" dipilih di dropdown:
Dan dalam proyek Properties> Build:
Visual Studio tidak memuat simbol ke proyek tertentu. Jadi dalam dropdown itu, saya memilih "Manajer Konfigurasi" dan melihat bahwa pengaturan untuk proyek web saya salah:
Lalu saya atur itu menjadi "Debug" dan mulai menghasilkan file .pdb
. TAPISaya perlu menyalin PDB dan DLL secara manual dan memasukkan ke folder yang dicari VS (di sinilah jawaban yang dipilih membantu saya):
Debug
> Windows
> Modules
untuk melihat modul apa yang sedang dimuat menempatkan saya ke arah yang benar.
Dalam kasus saya IIS Ekspres sepertinya memuat DLL yang berbeda dari file ASP.NET sementara.
Solusinya?
C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs
Saya dapat memperbaiki kesalahan dengan hanya mengatur opsi di 'Lampirkan ke Proses' untuk 'Secara otomatis menentukan jenis kode untuk debug' pilihan seperti yang ditunjukkan pada screenshot terlampir.
Cukup ikuti langkah-langkah di bawah ini:
Terkadang, meskipun itu memberi Anda kesalahan ini, breakpoint
masih terkena, jadi abaikan saja kesalahannya. Ini cukup sering terjadi di Views
dari MVC web app
.
Periksa apakah solusi Anda dalam Mode Rilis.
Coba jalankan visual studio sebagai administrator di dalam windows.
Dalam kasus saya, saya mencoba melakukan debug dalam mode rilis. Setelah saya mengubahnya ke mode debug. Bekerja
Anda perlu mengaktifkan "Hasilkan info debug" di pengaturan kompiler
Kami menemukan penyebab masalah kami. Kode ini menggunakan atribut "CodeBehind" dalam direktif Halaman dari file .aspx alih-alih atribut "CodeFile" (ASP.NET 2.0 dan seterusnya). Setelah berhari-hari putus asa, pencarian dan penggantian yang sederhana memecahkan masalah.
Opsi "Mulai debugging, Debug + Windows + Modul" tidak ada di Microsoft Visual Studio Express 2013 edisi.
Hapus centang "Gunakan Mode Kompatibilitas Terkelola" dalam Opsi Alat Perbaikan debugging ini.
Saya mencoba semua yang disebutkan di atas, tetapi tidak ada yang berhasil .[Solusi bersih, dan periksa file PDB dll.]
Bahkan menerbitkan solusi yang sama tidak menyelesaikan masalah.
Kemudian saya kembali ke apa yang biasanya saya lakukan untuk menyelesaikan (menipu Visual Studio keras kepala ini)
Semua yang saya lakukan adalah membuat perubahan yang disengaja dalam kode dan menerbitkan solusinya . Kemudian saya mengembalikan perubahan dan menerbitkannya lagi.
Voila [file PDB menghilangkan roh jahat] .. Bukan resolusi pintar, tapi ini berhasil ..: - |
Hal-hal yang perlu diperiksa hanya untuk menjadi jelas: Pastikan Anda memiliki konfigurasi diatur ke 'Debug' dan bukan 'Lepaskan'. Anda dapat men-debug proyek startup dalam mode 'Rilis', tetapi bukan perpustakaan kelas yang dirujuk.
Tidak ada jawaban yang memecahkan masalah saya. Saya mencoba hal lain berdasarkan fakta bahwa proyek dengan berhenti sebenarnya bukan proyek dimuat. Saya menemukan ketika Hans Passant menulis bahwa .dll tempat saya ingin menghentikan debugger dan file .pdb yang dikaitkan di mana disalin dekat file .exe. File-file itu memiliki tanggal yang lebih lama jadi saya pikir mereka tidak diperbarui dalam runtime. Saya menghapusnya secara manual, Visual Studio membuat pasangan lain DAN menempatkan pasangan baru ini di dekat .exe. Sekarang breakpoins bekerja!
Mungkin Visual Studio tidak dapat menyalin dan MENGGANTI file yang ada (.dll dan .pdb) di dekat .exe karena ada yang lain di sana. Jadi jika saya menghapus secara manual maka VS dapat membuat yang baru di dekat .exe.
Saya berpikir bahwa perubahan lain (pemeriksaan dan sebagainya - dari jawaban lain) memicu sesuatu dan Visual Studio menyalin dan mengganti dll dan pdb dari folder proyek ke folder dekat exe, jadi itu solusi.
Saya pikir bahwa akar penyebab masalahnya adalah bahwa Visual Studio menggunakan file lain di runtime, tidak ada file dari proyek, dengan berhenti.
Mungkin jawaban ini untuk membantu seseorang!
Project Properties (lalu pilih konfigurasi build Anda)> Build Tab> Advanced ...> Info Debug (dropdown)
Setel ke 'semua' atau 'hanya pdb' lalu bangun kembali
Alih-alih melakukan semua hal ini dengan adil
solusi itu akan memperbaiki masalah
Ini memakan waktu beberapa saat ketika saya mencoba opsi lain di atas dan untuk beberapa alasan aneh debugging berhenti berfungsi.
Alat -> Opsi -> Debugging -> Umum -> (hapus centang) "Memerlukan file sumber agar sama persis dengan versi asli" pilihan
Saya memiliki masalah serupa dan saya melakukan yang berikut:.
Saya mengintegrasikan aplikasi C # dengan perpustakaan statis menggunakan VS10 - yang saya baru saja. Saya menulis dll kode yang dikelola untuk antarmuka mereka. Saya bisa mengatur breakpoints di mana-mana tetapi lib statis. Saya mendapatkan pesan yang dijelaskan di atas - tidak ada simbol yang dimuat untuk dokumen ini. Saya mencoba banyak saran di atas. Saya bisa melihat bahwa simbol tidak dimuat. Saya akhirnya melihat kotak centang Konfigurasi Debug, Aktifkan debugging kode yang tidak dikelola. Itu memungkinkan saya untuk mengatur breakpoints di fungsi lib statis.
Saya juga memiliki masalah yang sama dengan apa yang saya bangun kembali seluruh solusi (termasuk proyek yang direferensikan) di x86 (atau x64)
Meskipun saya mengatur semua proyek saya ke x86 dari Configuration Manager (Build-> ConfigManager) beberapa proyek saya tidak diatur ke x86.
Jadi hanya untuk memastikan klik kanan pada proyek dan ikuti
project -> properties -> Tab Debug, verifikasi Konfigurasi dan Platform.
Saya sudah membaca dengan seksama semua jawaban di atas, tetapi tidak ada yang menyelesaikan masalah saya.
Dalam kasus saya, saya sedang mengkompilasi perpustakaan kelas (DLL). Sepertinya tidak ada modul yang dimuat di Debug -> Modul, jadi saya bahkan tidak bisa memuat simbol secara manual.
Solusi saya adalah menambahkan baris ini ke kode saya:
System.Diagnostics.Debugger.Launch();
Setelah kode ini tercapai, pengecualian dipicu dan .NET Framework memperlihatkan kotak dialog yang menanyakan Visual Studio (contoh baru VS 2008, contoh baru VS 2013, dll) yang ingin Anda gunakan untuk debug program. Anda dapat memilih instance VS yang ada dengan proyek Anda dimuat. Ini akan melampirkan proses ke sesi VS Anda dan memuat semua simbol, dan sekarang Anda dapat men-debug proyek Anda.
Tentu saja, kompilasi harus dilakukan menggunakan konfigurasi Debug, bukan Release.
Saya tahu saya terlambat beberapa tahun, tetapi saya pikir saya telah melakukan sesuatu yang salah dan mengikuti langkah-langkah di atas kemudian saya menyadari bahwa saya akan mengatur konfigurasi solusi menjadi 'Rilis' karena kesalahan :)
Untuk aplikasi ASP.Net, periksa properti situs, tab ASP.NET. Pastikan bahwa versi ASP.NET yang benar dipilih.
Jika kami mendapatkan yang terbaru dari VSTS, semua file akan berada dalam mode hanya baca. Saat menjalankan proyek, semua kelas perpustakaan kelas hanya bisa dibaca dan titik rem kosong dan berkata "Breakpoint saat ini tidak akan dipukul. Tidak ada simbol yang dimuat untuk dokumen ini".
Solusi 1
Pergi ke lokasi proyek dan klik kanan folder ---> Properties ---> General Tab ---> UNCHECK read-only (Hanya berlaku untuk file di folder) ---> Terapkan ---> Ok
Solusi 2
Mulai debugging, Pergi ke Debug ---> Windows ---> Modul. Pilih satu Majelis dan klik kanan ---> (Pilih) Pengaturan Simbol. Tetapkan jalur Bin Anda di simbol Cache di direktori ini dan pilih Server Microsoft di Simbol lokasi PDB. Klik Muat Semua Simbol. Ini akan memakan waktu. Kemudian klik OK.
Sekarang status simbol semua Majelis telah diubah dari "tidak dapat menemukan atau membuka PDB" menjadi "Simbol dimuat".
Klik kanan pada Project -> Properties -> Pergi ke Build Tab -> Hapus centang Optimize Code . Lakukan untuk proyek apa pun dalam solusi Anda
ini terjadi pada saya setelah menyalin paste file asmx layanan web lain ke dalam layanan web yang ada, menghasilkan kesalahan yang sama ketika mencoba untuk debug layanan yang baru ditambahkan, untuk dapat men-debug saya harus mulai tanpa debug, kemudian lampirkan ke proses. ini aneh tetapi satu-satunya cara saya menemukan untuk dapat men-debug.
Saya mencoba semua ini dan tidak dapat membuat break-point saya bekerja ...
Apa yang saya lakukan untuk memperbaiki masalah ini adalah
Di halaman di mana break-point saya tidak mengenai, saya memilih folder> menambahkan item yang ada dan kemudian memilih halaman dari jalur simpannya. Ini memungkinkan break point untuk mulai bekerja.
Jika Anda menggunakan proyek C++
atau dll
dari C#
atau proyek .Net
apa pun, dan Anda ingin melakukan debug ke kode asli. Lalu pergi ke .Net
Project Properties -> Debug -> Aktifkan debugging kode asli (setel ke true).
Periksa daftar turun bawah Solution Configuration
Anda. Pastikan Anda memilih Debug
, bukan Release
.
Bagi saya, masalahnya adalah saya mencoba men-debug di proyek web yang tidak ditetapkan sebagai proyek startup .. Jadi tidak dikompilasi dengan baik ketika menjalankan debug dan.
Hanya mengatur proyek untuk "Mengatur sebagai proyek startup" melakukan trik.
Semoga ini membantu
Ketika mencoba men-debug Excel AddIn di VS 2013, setelah saya mencoba semua pengaturan Debug dengan menonaktifkan Sumber DotNet Framework. Stepping dan menonaktifkan Symbol Loading, yang akhirnya berhasil bagi saya adalah mengubah Pengaturan Konfigurasi untuk Melepaskan daripada Debug , sejak kompiler sepertinya melangkahi kode dan breakpoints akhirnya mengenai.
Situasi pribadi saya adalah bahwa debug bekerja di Visual Studio 2013, di mana awalnya dibuat, tetapi tidak akan berfungsi pada tahun 2015. Saya dapat memperbaikinya dengan mengubah versi dalam file proyek ke versi 12 alih-alih versi 10.
Saya ingin menambahkan satu hal lagi yang dapat mencegah langkah/kerusakan dengan tidak memuat file .pdb, setelah tidak menemukan ini di forum lain: jika Anda menambahkan proses pasca bangun untuk menambahkan meta-data sumber daya ke DLL (nama perusahaan, nomor versi, dll), seperti pada "rc.exe my_dll.rc", ini mungkin menyebabkan ketidakcocokan antara DLL dan file .pdb. Jika tanda tangan tidak cocok, itu tidak akan memuat file dan semua simbol yang Anda butuhkan untuk debugging. Hapus ini dari build debug.
[MERINGIS] Saya kebetulan menemukan ini selama membangun di WinCE, sepertinya 'Bersih' tidak membersihkan folder target pada perangkat, saya mendapatkan debug/istirahat kembali dengan mengubah folder Output pada Perangkat (Project Properties -> tab Devices -> ubah folder Output ke selain debug gagal sebelumnya) - dan voila !! berfungsi . Mungkin harus melakukan pembersihan manual pada perangkat, tetapi itu akan dilakukan kemudian.
Semoga bantuan ini.
Dalam kasus saya, dalam file AssemblyInfo.cs
, ada baris di bawah dan saya berkomentar dan semuanya benar:
[Assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
Saya melewati semua jawaban, tidak ada yang banyak membantu. Dalam masalah kasus saya dengan web.config file . Itu <compilation debug="false" strict="true"
Saya berubah menjadi
<compilation debug="true" strict="false"
. Sekarang saya bisa men-debug aplikasi.
Dalam kasus saya, saya sedang men-debug ekstensi WPF menggunakan Instance Eksperimental Visual Studio. Setelah memulai debugging dan kemudian menjeda dubugger, saya membuka jendela Debug > Windows > Modules
. Formulir di sana, saya bisa melihat direktori tempat Visual Studio mencoba memuat simbol C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\15.0_76a9e536Exp\Extensions\<companyName>
. Setelah menghentikan debugging, saya menghapus folder target menggunakan Windows Explorer dan memulai kembali debugger. Visual Studio kemudian dapat mencapai breakpoint.
Saya akhirnya melacak masalah saya kembali ke masalah ketidakcocokan yang terlihat dengan menggunakan beberapa versi PostSharp . Aplikasi yang saya coba debug memiliki versi PostSharp sebelumnya tetapi merujuk proyek yang menggunakan versi yang lebih baru, dan karena satu dan lain hal ini mengakibatkan VS menolak untuk menghasilkan file PDB untuk khusus aplikasi (semua DLL lainnya memuat simbol debug mereka dengan baik).
Solusinya adalah memperbarui PostSharp dalam setiap proyek ke versi terbaru dan kompilasi ulang.
Saya mendapatkan ini dan bingung (menggunakan Visual Studio 2013 Premium).
Biasanya aplikasi kami di referensi kerja .dll di direktori umum/aplikasi tertentu, seperti ini: C:\OurCompanyApps\xxxxxx.dll. Ini terjadi dalam solusi yang memiliki banyak proyek WinForm dan .dll di dalamnya. Proyek .dll mengkompilasi ke C:\OurCompanyApps\dan proyek WinForm merujuk pada file .dll yang dikompilasi di lokasi itu.
Masalahnya: Saya menemukan bahwa aplikasi yang dimaksud mereferensikan proyek .dll di tempat Kontrol Sumber\lokasi debug alih-alih file .dll yang dikompilasi di C:\OurCompanyApps.
Solusi: Saya menghapus referensi dan menambahkannya kembali dari lokasi C:\OurCompanyApps \. Lalu saya bisa melangkah melalui breakpoints yang saya tambahkan dalam kode .dll.
Semoga ini bisa membantu seseorang.
Debug ->
Pilihan ->
Umum ->
Hapus centang untuk "Enable Just My Code
"
Ini berhasil untuk saya.
Dalam kasus saya, itu karena profil penerbitan saya (publikasikan ke situs IIS lokal) entah bagaimana diatur ke Release Configuration, meskipun fakta bahwa konfigurasi pembangunan global ditetapkan ke Debug. Memodifikasi profil penerbitan ke konfigurasi Debug memecahkan masalah bagi saya.
Jika Anda menemukan bahwa Anda harus membangun proyek dalam solusi Anda secara individual dalam urutan tertentu untuk mendapatkan solusi untuk membangun karena membangun solusi langsung setelah bersih tidak berhasil, dan kemudian Anda menemukan masalah yang dijelaskan dalam Pertanyaan, mungkin karena dimasukkannya beberapa proyek tambahan yang memiliki referensi ke jalur relatif yang salah karena telah ditambahkan ke solusi Anda dari lokasi yang berbeda. Oleh karena itu, jalur relatif tidak menuju ke lokasi yang sama dengan file .csproj yang berada di folder langsung di bawah file .sln Anda.
Alasannya akan membangun dengan membangun proyek satu per satu dalam urutan tertentu adalah karena proyek lain mereferensikan perpustakaan yang sama tetapi kemudian membangun ke GAC. Solusinya akhirnya membangun tetapi simbol yang dimuatnya dari GAC dan simbol-simbol ini mungkin menjadi usang.
Solusinya adalah merestrukturisasi struktur folder fisik dari solusi dan proyek Anda, atau membuka file .csproj secara individual dan memperbaiki jalur relatif sehingga semua referensi ke pustaka tertentu pada akhirnya menunjuk ke lokasi yang sama di semua proyek. Atau mungkin menggunakan token $(SolutionDir)
.
Dan jika semuanya masih gagal, maka Anda perlu memaksa Visual Studio mengatur ulang konfigurasi build Anda dan ini mengharuskan Anda untuk menghapus centang semua proyek untuk semua konfigurasi build dan kemudian mengecek semuanya - lihat solusi di sini .
Pastikan kode Anda tidak dibuang pada waktu tautan. Meskipun kompiler dapat membangun kembali suatu objek, jika linker tidak melihat referensi ke kode itu akan membuangnya dan menyebabkan kesalahan ini ketika mencoba untuk menetapkan breakpoint.
Saya memiliki masalah yang sama dan saya mencoba segala kemungkinan ... beberapa di antaranya
1) Nuking temp file di Folder ASP.NET Sementara di folder bin dan obj.
2) Hapus centang pada kode Optimalkan dan Aktifkan kode saya
3) Menavigasi dan mencoba memuat simbol secara manual dari jendela modul.
4) Memeriksa flag build pada properti-properti solusi .........
Dan daftarnya terus berlanjut .. Saya menghabiskan satu hari untuk ini tetapi yang akhirnya berhasil bagi saya sebenarnya adalah ... Saya tahu bahwa simbol untuk proyek saya tidak dimuat dan saya tidak dapat melihat modul apa pun dengan proyek saya nama di jendela modul baik ...
jadi masalahnya adalah simbol saya dibawa dari jalur direktori virtual proyek ... dan itu dipetakan ke direktori virtual beberapa proyek lain sebagai gantinya ... proyek web yang seharusnya memuat dalam modul tidak ada Berikut ini langkah-langkah yang saya ikuti ..
Dalam situasi saya, Visual Studio memuat DLL di Global Assembly Cache (GAC) , bukan DLL dalam daftar proyek saya. Saya menghapus DLL di GAC dan sekarang saya bisa melihat break point berfungsi.
Dalam kasus saya ini mulai terjadi setelah Pembaruan Windows, ternyata pembaruan windows mematikan Layanan Informasi Internet yang membuatnya tampak bahwa API saya tidak dapat mencapai titik break yang telah saya tetapkan, tetapi apa yang sebenarnya yang terjadi adalah IIS gagal memulai dan oleh karena itu kode aplikasi saya tidak benar-benar berjalan.
Periksa kembali apakah Layanan Informasi Internet diaktifkan di menu Fitur Windows.
Instruksi untuk IIS:
Jika menggunakan IIS Ekspres:
Buka 'Tambah/Hapus Program' dari panel kontrol yang lama dan jalankan perbaikan pada IIS Ekspresikan Atau Anda mungkin membuka Panel Kontrol - >> Program - >> Program dan Fitur - >> Mengaktifkan atau menonaktifkan fitur Windows -> > Layanan Informasi Internet dan periksa folder induk Layanan Informasi Internet.
Saya mendapat jawaban ini di sini: Argumen yang ditentukan berada di luar kisaran nilai yang valid. Nama parameter: situs
Saya telah melakukan hal bersih dan membangun kembali. Itu tidak berhasil (biasanya) . Sekarang, saya melampirkan ke w3wp sebelum memanggil melalui layanan, kemudian biarkan ia memanggil layanan sekali, tekan breakpoint lain, lalu saya mengubah titik eksekusi sehingga akan jalankan baris yang sama (memanggil layanan) lagi, lalu berhenti di breakpoint saya di dalam metode layanan.
Saya menggunakan IE8 dan mencoba untuk membuat perubahan pada beberapa file JavaScript. Meskipun kode dieksekusi, itu tidak akan berhenti di breakpoints dan saya mendapatkan pesan yang sama pada breakpoints. Memutakhirkan ke IE11 memperbaiki masalah bagi saya.
Proyek utama memiliki Referensi Proyek dan referensi File untuk proyek yang sama.
Dalam kasus saya, proyek utama memiliki dua referensi satu adalah referensi proyek dan referensi File lain, ke dll yang dihasilkan oleh proyek yang sama.
Dengan demikian, file pdb tidak disalin ke folder bin proyek utama, yang menyebabkan tidak tersedianya simbol.
Punya masalah ketika mencoba men-debug aplikasi silverlight dalam proyek sharepoint. Di bawah tab sharepoint dari properti proyek Anda harus secara eksplisit mengaktifkan debugging untuk aplikasi silverlight. Lain Anda mendapatkan kesalahan ini.
Ada banyak jawaban dengan berbagai solusi untuk memperbaiki masalah ini.
Solusi lain adalah memastikan bahwa kode Anda dapat dijangkau. Sebagai contoh:
Kode apa pun yang ditambahkan setelah Return in a function . Menambahkan GOTO yang secara efektif melewatkan kode Anda yang memiliki break point.
Saya tidak mengatakan ini normal tetapi juga penyebab.
Cara baru untuk mendapatkan masalah ini telah muncul pada Visual Studio 2017 15.3.1 hingga 15.3.5. Jika Anda menggunakan EditorConfig , opsi charset = utf8 menyebabkan gejala ini. Tim VS telah mereproduksi ini dan mengatakan mereka sedang mengerjakannya .
Jadi satu perbaikan adalah mengomentari baris charset = utf8 Anda dalam file .editorconfig.
Statusnya sekarang adalah "Fixed - pending release" pada 9 Oktober 2017.
(Terima kasih kepada John Hatton, "Breakpoint saat ini tidak akan terkena. Kode sumber berbeda dari versi aslinya." Apa artinya ini?
Tidak ada masalah dengan F11 pada Anda untuk melakukan ini, dan kemudian masukkan tidak ada pada Anda di atas atau jika ada masalah dengan BP, kirim ke server, atau break point untuk memulihkan.
Dalam kasus saya, saya memberikan F11 dalam pemanggilan metode, memaksa untuk memasukkan metode di mana masalah BP, sehingga titik istirahat dipulihkan.
Namun solusi lain bagi saya adalah post-build proyek yang tidak dapat masuk ke folder bin proyek utama.
Saat men-debug Majelis dengan memulai aplikasi eksternal ada beberapa pertimbangan tambahan:
Aplikasi eksternal dapat memuat salinan rakitan (DLL) sendiri dari file manifes. (mis., file appname.exe.manifest
) Jika ya, Anda harus menonaktifkannya dengan mengubah manifes secara manual.
Aplikasi eksternal mungkin hanya mencoba memuat dari DLL di foldernya sendiri, bahkan tanpa manifes. Anda harus menghapus/mengganti nama ini.
Dengan langkah-langkah ini diatasi, versi Majelis yang berjalan di debugger harus dimuat dengan benar dan dapat di-debug secara normal.
Setelah mencoba banyak dari ini, hal yang akhirnya berhasil untuk saya adalah ini:
Dalam Debug > Options > General
, hapus centang Enable Edit and Continue
.
Alasan saya sudah ditinggalkan Telerik OpenAccess ORM. Menginstal versi baru kemudian berfungsi. Harus mengunduh dan menginstal. Hanya pembaruan NuGet yang tidak berfungsi. orang lain juga menyebutkannya
Juga memiliki masalah ini dengan proyek yang dihasilkan Qt .pro. Ternyata saya lupa mengatur variabel lingkungan yang menentukan properti/umum/Direktori Output. Yang sepele, dan satu untuk dilihat di tempat pertama, tapi kadang-kadang kita kehilangan yang jelas.
Perlu juga disebutkan bahwa dalam beberapa situasi masalah terjadi, karena proyek yang ingin Anda debug adalah layanan eksternal. Dalam hal ini Anda harus melampirkan debugger ke proses yang sedang berjalan.
Tidak ada ide di sini yang bekerja untuk saya, tetapi saya berterima kasih kepada semua orang atas upaya mereka - dalam kasus saya itu adalah aplikasi Windows yang mereferensikan proyek perpustakaan kelas - saya bisa men-debug aplikasi windows tetapi tidak perpustakaan kelas. File pdb sedang dibuat. Namun saya menemukan bahwa jika saya men-debug panggilan ke perpustakaan kelas, saya bisa masuk ke perpustakaan.
Terkadang IIS akan menyimpan file karena suatu alasan. Saya harus menghapus situs web dan membuatnya lagi dan masalahnya hilang
Mungkin Anda seharusnya tidak membuat AutoPostBack
.
Jika kode Anda tidak membuat Postback, Anda bisa mendapatkan kesalahan ini .
Salam.
Proyek> Properti> C++> Umum> Format Informasi Debug - Basis Data Program (/ Zi)
Saya telah memeriksa Linker> Debugging dan sudah menghasilkan info debug. Ketika saya meluncurkan aplikasi, simbol dimuat (Debug> Windows> Modul). Mengatur Format Informasi Debug memperbaikinya untuk saya. Semoga ini bisa membantu seseorang!
Dalam kasus saya, tidak ada solusi yang berhasil. Saya harus pergi ke
Alat -> Pengaturan Impor dan Ekspor -> Atur ulang semua pengaturan.
dan kemudian debugging mulai berfungsi tanpa masalah.
Saya menyadari ini adalah utas lama, tetapi untuk kepentingan orang lain inilah yang terjadi pada saya. Masalahnya adalah bagaimana saya menerapkan atribut Designer. Saya membuat kelas desainer. Perancang mengalahkan PrefilterProperties untuk membuat properti Anchor, AutoScroll dan AutoSize hanya baca.
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
public class j2aScrollableContainerDesigner : ParentControlDesigner
Saya membuat kelas dan menambahkan desainer saya ke dalamnya. Ini adalah cara standar untuk melampirkan atribut desainer ke kelas dan ditemukan dalam banyak contoh MSDN. Perancang itu jelas tidak digunakan karena ketika saya meletakkan kendali saya pada permukaan desain Formulir, tidak ada properti yang disebutkan di atas yang hanya dibaca di Property Grid.
[Designer(typeof(j2aScrollableContainerDesigner), typeof(ParentControlDesigner))]
public partial class j2aScrollableContainer : UserControl
Karena putus asa, saya mengubah deklarasi atribut Designer di kelas saya ke tanda tangan berikut dan desainer itu sekarang dipanggil. Saya tidak punya penjelasan mengapa satu cara bekerja dan yang lainnya tidak. Jika saya kembali ke deklarasi atribut Desainer di atas, desainer akan berhenti bekerja lagi.
[Designer(typeof(j2aScrollableContainerDesigner))]
public partial class j2aScrollableContainer : UserControl
Menggunakan Injeksi Ketergantungan, Autofac dalam kasus saya, untuk menyelesaikan secara otomatis dengan memindai rakitan. Salah satu majelis yang direferensikan tidak terselesaikan.
Perbaikan saya adalah untuk secara langsung merujuk kelas dari Majelis untuk memaksa Visual Studio memuat Majelis. Hanya memiliki Majelis sebagai referensi tidak akan memuat Majelis saat aplikasi berjalan.
Periksa apakah Anda telah mengaktifkan "Aktifkan kode saya". Jika ya, nonaktifkan.
Saya tidak sengaja membuka file proyek dalam editor teks dan dibongkar. Tidak mungkin, tetapi periksa jika Anda macet.
Saya mengalami hal ini ketika meluncurkan situs web ASP.NET pada tahun 2013. Tampaknya dalam kasus saya ini hilang begitu browser web benar-benar diluncurkan.
Namun solusi lain untuk beberapa kasus di mana kesalahan ini terjadi: periksa Build Action Anda .
Saya memiliki masalah ini dalam proyek asp.net MVC3; salah satu pengontrol saya punya untuk beberapa alasan yang tidak diketahui itu Build Action ditetapkan ke EntityDeploy meskipun seharusnya Kompilasi .
Tambang saya hilang terutama karena saya memiliki 2 proyek yang diparkir ke URL IISExpress yang sama, pastikan Anda menentukan port yang berbeda dan tekan CreateVirtualDirectory.
Saya mengalami masalah ini mencoba men-debug agen latar belakang aplikasi WP7. Ternyata, masalah debugging ini hanya merupakan gejala dari masalah sebenarnya: Agen latar belakang saya tidak berjalan sama sekali dalam mode debug. Saya telah mengikuti panduan berikut tentang cara menerapkan agen latar belakang: http://msdn.Microsoft.com/en-us/library/hh202941(v=vs.92).aspx
... tapi lupa menambahkan
#define DEBUG_AGENT
yang berarti bahwa agen saya tidak pernah benar-benar memulai dalam mode debugging. Setelah baris ini ditambahkan, masalah tentang utas ini hilang.
Namun tip lain yang berhasil untuk saya.
Jika proyek/pustaka Anda ditandatangani, bahkan tidak tertunda, itu masih mungkin tidak dapat disangkal. Coba nonaktifkan opsi penandatanganan, debug itu, lalu pulihkan opsi penandatanganan.
Langkah-langkah berikut bercabang untuk saya:
Sekarang Anda dapat mulai men-debug lagi.
Untuk saya:
Saya telah menetapkan breakpoint dan mendapatkan pesan ini pada breakpoint itu ketika mengeksekusi kode. Namun, breakpoint hanya dapat diakses oleh unit test. Saya harus mengklik kanan unit test dan pilih "debug unit tests" Doh!
Akan menempatkan ini di sini dengan harapan itu bisa membantu seseorang.
Saya mengalami masalah simbol yang hilang terkait layanan web.
Solusi gila adalah bahwa proyek setup tidak diatur untuk membangun ketika solusi dibangun, yang berarti bahwa ketika saya mengklik kanan proyek setup dan menginstal layanan, kemudian melekat pada proses; layanan out of date yang sama sedang diinstal tanpa pdb karena tidak cocok = tidak ada breakpoints yang berfungsi.
Solusi manual adalah mengklik kanan proyek pengaturan dan membangunnya, lalu menginstalnya. Saya kemudian mengubah daftar build proyek solusi untuk memasukkan proyek setup ketika solusi dibangun dalam mode debug.
Saya pikir sumber jika kesalahan ini adalah, simbol debug memiliki waktu yang sulit muncul ke solusi setelah membangun untuk rilis.
Saya mencoba semua jawaban lain - umumnya, regenerasi .pdb simbol atau memeriksa lokasi mereka, membersihkan dan membangun kembali proyek, memastikan konfigurasi aktif tidak Lepaskan dll.
Apa yang akhirnya berhasil bagi saya adalah mengklik kanan pada proyek di solusi Explorer> Debug> Mulai contoh baru.
Untuk aplikasi Xamarin saya, akhirnya mulai debugging setelah saya benar-benar menghapus folder Kontrol Sumber, melakukan "Dapatkan Terbaru", dan membangun kembali solusinya.
Rekan kerja saya memiliki masalah ini, mengikuti langkah-langkah serupa dengan yang ada di sini, tetapi solusinya berbeda dari yang diberikan.
Kode yang ingin dia debug adalah dalam proyek yang dirujuk oleh proyek saat ini, dan itu tidak pernah berjalan dalam sesi Visual Studio. DLL berjalan dari folder GAC, setelah dia menghapus bahwa proyek tidak akan berjalan sama sekali, mengeluarkan pengecualian segera setelah mencoba menjalankannya Solusinya adalah memasukkan proyek yang direferensikan ke dalam folder lokal.
Dari SolutionExplorer:
Coba lagi. (Ini berhasil untuknya!)
Ini dapat disebabkan oleh proyek pengujian, proyek web, atau proyek eksekusi lainnya yang memiliki referensi Nuget ke proyek dengan nama yang sama dengan modul yang sedang dimuat.
Ambil contoh proyek berikut dalam sebuah solusi:
Vendor.ABC
MyLib
(referensi Vendor.ABC)MyProg
(program konsol: hanya merujuk MyLib)MyProg.Web
(proyek MVC: referensi MyLib dan proyek solusi Vendor.ABC)MyLib.Test
(Proyek Uji: referensi Paket MyLib dan Nuget Vendor.ABC)MyProg
dan MyProg.Web
akan memuat simbol debug .MyLib.Test
tidak akan memuat simbol debug.