Załóżmy, że mam funkcję, która zgłasza wyjątek. Załóżmy, że ta funkcja jest wywoływana przez zewnętrzną bibliotekę DLL, a trzecia strona DLL obsługuje wyjątek, który został zgłoszony.Co Visual Studio uważa za "Kod użytkownika"?
Jeśli program Visual Studio zdecyduje, że zewnętrzna biblioteka DLL nie jest "kodem użytkownika" (jak widać na poniższym obrazku), domyślnie zatrzyma się na moim wyjątku, mimo że zostanie później przetworzona. Niepoprawnie nie jest to ; wyraźnie wyjaśnia, że wyjątek był nieobsługiwany przez kod użytkownika. Ale co sprawia, że Visual Studio nazywa niektóre biblioteki DLL "kodem użytkownika", a inne nie?
miałem teorię, że dzieje się tak dlatego, że symbole nie są ładowane, ale istnieją moduły w liście, który został załadowany symbole, ale wciąż nie są uważane za „Kod użytkownika”.
Dla innych okno Moduły znajduje się w menu Debugowanie, wybierz Windows, a następnie kliknij Moduły. Przydatny ekran do śledzenia tego, co właśnie .dll jest używane (mój kod nie debugowałby, ponieważ korzystał z kopii biblioteki w GAC zamiast danych wyjściowych z projektu referencyjnego), dzięki za wskazanie go. – RyanfaeScotland