pengembangan-web-mp-pd.com

Bagaimana cara memperbaiki "Breakpoint saat ini tidak akan terkena. Tidak ada simbol yang dimuat untuk dokumen ini." peringatan?

Aplikasi desktop C # pada edisi ekspres. Bekerja maka tidak berfungsi 5 detik kemudian.

Saya mencoba yang berikut ini.

  • Pastikan konfigurasi debug, bendera debug, dan info debug lengkap diatur di semua majelis.
  • Hapus semua folder bin dan objek dan semua DLL yang terkait dengan proyek dari seluruh mesin saya.
  • Buat kembali proyek yang menyebabkan masalah dari awal.
  • Mulai ulang.

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.

1282
Instance Hunter

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.

922
Hans Passant

Pertama-tama coba membangun kembali proyek Anda dengan klik kanan pada proyek mouse> Rebuild.

Jika tidak berhasil periksa ini:

  1. Klik kanan mouse proyek Anda
  2. pilih [Properti]
  3. pilih [Build] tab
  4. pastikan [Tetapkan DEBUG konstan] dan [Tetapkan konstanta TRACE] dicentang
  5. Klik tombol [Lanjutan] di bagian bawah tab Build
  6. Pastikan bahwa [Info Debug:] diatur ke [penuh]
  7. Klik [OK] dan bangun kembali proyek ;-)

(langkah 6 menghasilkan file .pdb, ini adalah simbol debugging)

308
juFo

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.

254
Patrick

Nonaktifkan opsi "Just My Code" di pengaturan Debug/Umum.

203
sublimental

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.

139
jp2code

Jawaban yang dipilih membuat saya memperbaiki masalah saya. Tetapi saya perlu melakukan beberapa hal lagi:

Bahkan dengan "Debug" dipilih di dropdown:

enter image description here

Dan dalam proyek Properties> Build:

enter image description here

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:

enter image description here

enter image description here

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):

enter image description here

54

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?

  1. Jelajahi C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs
  2. Hapus semua yang ada di direktori ini!
41
James S

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:

  • Buka Debug dari bilah menu 
  • Klik Lampirkan ke Proses 
  • Di dekat opsi Lampirkan ke, klik tombol Pilih 
  • Jendela Pilih Jenis Kode akan muncul 
  • Sekarang pilih opsi Secara otomatis menentukan jenis kode untuk debug dan klik tombol OK.

Fixed Debugging Error

38
theITvideos

Periksa apakah file .pbd Anda tidak ada di folder bin/Debug Anda. Jika kemudian pergi ke "Properties" dari proyek Anda, pilih "Build" dan kemudian "Advanced" di bagian bawah. Pilih "penuh" di bawah "Info debug" di jendela baru yang muncul. Ini masalah saya dan menyelesaikannya untuk saya.

 Showing where to find the setting

36
Arne H. Bitubekk

Terkadang, meskipun itu memberi Anda kesalahan ini, breakpoint masih terkena, jadi abaikan saja kesalahannya. Ini cukup sering terjadi di Views dari MVC web app.

34
Serj Sagan

Dalam kasus saya "Kode Optimasi" diperiksa di properti proyek saya. Ini menyebabkan VS melihat Majelis saya "bukan kode saya", dan pada gilirannya, itu tidak memuat simbol untuk itu.

Solusinya adalah dengan menghapus centang ini .  Location of Optimize Code checkbox

28
Sandra

Periksa apakah solusi Anda dalam Mode Rilis. 

20

Coba jalankan visual studio sebagai administrator di dalam windows.

20
Andy

Dalam kasus saya, saya mencoba melakukan debug dalam mode rilis. Setelah saya mengubahnya ke mode debug. Bekerja

14
Adithya Sai

Anda perlu mengaktifkan "Hasilkan info debug" di pengaturan kompiler

14
DS.

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.

10
cjo30080

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.

10
Andrus

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 ..: - |

8
Mahesh

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.

7

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!

6
Tratak

Project Properties (lalu pilih konfigurasi build Anda)> Build Tab> Advanced ...> Info Debug (dropdown)

Setel ke 'semua' atau 'hanya pdb' lalu bangun kembali

5
Sinaesthetic

Alih-alih melakukan semua hal ini dengan adil 

Tutup dan buka kembali

solusi itu akan memperbaiki masalah

5
kselva

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

5
tfa

Saya memiliki masalah serupa dan saya melakukan yang berikut:.

4
Muhamed Krasniqi

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.

4
Kary

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.

4
user781700

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.

4
Sam

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 :)

4
Neil Walker

Untuk aplikasi ASP.Net, periksa properti situs, tab ASP.NET. Pastikan bahwa versi ASP.NET yang benar dipilih.

3
Mark Whaling

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".

2
Bala Kumar

Klik kanan pada Project -> Properties -> Pergi ke Build Tab -> Hapus centang Optimize Code . Lakukan untuk proyek apa pun dalam solusi Anda

2
Jamal Kaksouri

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.

2
montelof

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.

2
Pomster

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).

1
peter bence

Periksa daftar turun bawah Solution Configuration Anda. Pastikan Anda memilih Debug, bukan Release.

1
zs2020

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

1

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.

1
Kamran Hyder

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.

1
done_merson

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.

1
Tom Gordon

[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.

1
WindyHen

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)]
1
Hessam J.E

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.

1
Chandu

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.

1
Paul Schroeder

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.

1
DamienMann

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.

1
clamum

Debug ->Pilihan -> Umum -> Hapus centang untuk "Enable Just My Code"

Ini berhasil untuk saya.

1

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.

1
george.himself

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 .

1
Neo

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.

1
Nathan Kidd

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 ..

  • Klik kanan proyek web tertentu dan pilih properti
  • Buka tab Web
  • Anda dapat melihat tombol Buat Direktori Virtual
  • Begitu saya mengkliknya saya melihat pesan peringatan yang mengatakan "(nama proyek) dipetakan ke (anotherProjectName)" Anda yakin ingin melakukan pemetaan ulang? .__ Sesuatu seperti ini
  • maka masuk akal bahwa untuk alasan saya melihat nama proyek yang tidak perlu di jendela modul
  • lalu saya membangun kembali solusinya dan dapat mencapai breakpoint
1
user1505521

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.

0
Tuyen Nguyen

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: 

  • panel kendali
  • Program
  • buka atau tutup fitur windows
  • centang layanan informasi internet
  • restart studio visual

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

0
Josh Siegl

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.

0
Gary

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.

0
Brad Germain

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.

0
Abhijeet Nagre

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.

0
dgorissen

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.

0
Nathan

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?

0
JohnT

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.

0
Melqui Franco

Namun solusi lain bagi saya adalah post-build proyek yang tidak dapat masuk ke folder bin proyek utama.

0
Josh

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.

0
DaveInCaz

Setelah mencoba banyak dari ini, hal yang akhirnya berhasil untuk saya adalah ini:

Dalam Debug > Options > General, hapus centang Enable Edit and Continue.

0
melicent

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

0
Kevin .NET

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.

0
charlie

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.

0
DiSaSteR

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.

0
mattpm

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.

0
HQtunes.com

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!

0
RomanRobot

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.

0
nPcomp

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
0
j2associates

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.

0
wonster

Periksa apakah Anda telah mengaktifkan "Aktifkan kode saya". Jika ya, nonaktifkan.

0
CiriousJoker

Saya tidak sengaja membuka file proyek dalam editor teks dan dibongkar. Tidak mungkin, tetapi periksa jika Anda macet.

0
Edza

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.

0
Curtis White

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 .

0
Nenotlep

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.

0
Cristian E.

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.

0
Anders

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. 

0
Vadim Berman

Langkah-langkah berikut bercabang untuk saya:

  1. Buka folder "bin" proyek Anda.
  2. Hapus folder "Debug".
  3. Bangun proyek Anda lagi.
  4. Folder Debug akan dibuat ulang.

Sekarang Anda dapat mulai men-debug lagi.

0
Karthik

Untuk saya: 

  • Properti solusi terbuka
  • Pilih "Properti Umum"/"File Sumber Debug"
  • Di jendela "Jangan mencari file sumber ini", hapus file yang hampir pasti ada di sana dengan keliru.
0
Hot Licks

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!

0
Brian Leeming

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.

0
Paul Zahra

Jika Anda memiliki C # dan kode asli (C/C++), pastikan bahwa debugging asli diaktifkan untuk proyek:
1. Klik kanan Proyek Startup Anda di Solution Explorer
2. Pilih Properties
3. Pilih tab "Debug"
4. Pastikan debugging Kode Asli diaktifkan  "Enable native code debugging" must be checked in order to be able to debug your native code

0
M.Paunov

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.

0
I Want Answers

Untuk aplikasi Xamarin saya, akhirnya mulai debugging setelah saya benar-benar menghapus folder Kontrol Sumber, melakukan "Dapatkan Terbaru", dan membangun kembali solusinya. 

0

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:

  1. Pilih proyek "debug" yang Anda akan kehabisan
  2. Rentangkan Referensi (jika tidak terlihat, pilih menu Proyek , item Tampilkan semua file )
  3. Klik kanan proyek yang memiliki titik istirahat yang tidak berfungsi, pilih Properties
  4. Ubah nilai Salin Lokal dari Salah ke Benar

Coba lagi. (Ini berhasil untuknya!)

0
Abacus

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.

0
Joshcodes