Net framework 5, а также среды Visual Studio 2012 и C#



Download 6,27 Mb.
Pdf ko'rish
bet368/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   364   365   366   367   368   369   370   371   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C


Глава.20 .Исключения.и.управление.состоянием
Строка, возвращаемая свойством 
StackTrace
, не включает в себя имен методов, 
расположенных в стеке вызова выше точки принятия исключения блоком 
catch

Для отслеживания всего стека с самого начала до момента обработки исключения 
используйте тип 
System.Diagnostics.StackTrace
. Он определяет свойства и ме-
тоды, дающую разработчикам возможность программно управлять трассировкой 
стека и составляющими его кадрами.
Существует несколько конструкторов, позволяющих получить объект 
StackTrace

Некоторые из них строят кадры от начала потока до момента появления объекта 
StackTrace
. Другие — инициализируют кадры объекта 
StackTrace
, передавая ему 
в качестве аргумента объект, производный от типа 
Exception
.
Если CLR обнаруживает для ваших сборок символические имена отладки 
(находящиеся в файлах с расширением 
pdb
), строка, возвращаемая свойством 
StackTrace
объекта 
System.Exception
или методом 
ToString
объекта 
System.
Diagnostics.StackTrace
, содержит пути файлов исходного кода и номера строк. 
Эта информация чрезвычайно полезна для отладки.
В результатах трассировки стека можно обнаружить, что имена некоторых из 
вызывавшихся методов отсутствуют. Такая ситуация может возникнуть по двум 
причинам. Во-первых, в стеке содержится информация о том, куда должен вернуть 
управление поток, а не откуда произошло обращение. Во-вторых, JIT-компилятор 
может выполнять подстановку (inline) кода методов в вызывающий код, чтобы из-
бежать слишком большого числа вызовов, и возвращать результат вызова только 
одного метода. Многие компиляторы (в том числе C#) предлагают переключатель 
командной строки 
/debug
. При его использовании компилятор включает в ре-
зультирующую сборку информацию, заставляющую JIT-компилятор прекратить 
подстановку методов. В результате трассировка стека становится более полной 
и содержательной в процессе отладки.
ПриМеЧание
JIT-компилятор. проверяет. назначенный. сборке. атрибут. System Diagnostics 
DebuggableAttribute .Компилятор.C#.назначает.этот.атрибут.автоматически .Уста-
новка.флага.DisableOptimizations.заставляет.JIT-компилятор.прекратить.подстановку.
методов.сборки .В.C#.флаг.устанавливается.переключателем.командной.строки.
/debug .Применив.к.методу.настраиваемый.атрибут.System Runtime CompilerServices 
MethodImplAttribute,.вы.можете.запретить.подстановку.как.для.отладочной,.так.и.для.
рабочей.конфигурации .Вот.пример.определения.метода,.запрещающего.подста-
новку:
using System;
using System.Runtime.CompilerServices;
internal sealed class SomeType {
[MethodImpl(MethodImplOptions.NoInlining)]
public void SomeMethod() {
...
}
}



Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   364   365   366   367   368   369   370   371   ...   658




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish