тонкая настройка параметров питания, диагностика сна, просмотр версии бивоса, настройка и просмотр некоторых сетевых параметров, до последнего обновления - просмотр секунд в 11 винде (приходилось echo %time%) - и это только что первое в голову пришло
а вообще в винде не хватает более глубокой интеграции терминала, ибо многие вещи хотелось бы через него автоматизировать
упрощенно говоря, я представляю себе etw как большой системный логгер, логи которого впихнуты во все ключевые места ос, ключевых компонентов, подсистем и можно самому такой лог у себя добавить. Есть тулы которые слушают эти логи и записывают в файлик, потом этот файлик другими тулами можно анализировать.
но я не очень понимаю как в эту концепцию вклинивается трассировка процесса. Что под этим подразумевается? могу я увидеть стектрейсы процесса в произвольное время? я пользуюсь wpa, потому что он еще умеет подгружать pdb, может знаете как еще можно так легко сделать трассировку процесса, потом симболизировать названия функций чтоб было понятно что примерно процесс делает?
и еще: логирует ли etw вызовы win32 api? извиняюсь, получилось много вопросов, просто как-то в фоне в голове висят, а тут зацепился и вот)
ох, да, вижу
тогда у меня следующие вопросы:
1) зачем компилятор это делает (копирует переменную)? Это не то, что я ожидаю
2) почему в этом случае Dispose(), который в finally, вызывается через constrained? Ведь просто вызов (не override) метода у структуры — это просто call. Если структура приводится к интерфейсу — тогда будет box, которого я не вижу в finally
В общем: какую магию применяет компилятор по отношению к структурам в using?
тонкая настройка параметров питания, диагностика сна, просмотр версии бивоса, настройка и просмотр некоторых сетевых параметров, до последнего обновления - просмотр секунд в 11 винде (приходилось echo %time%) - и это только что первое в голову пришло
а вообще в винде не хватает более глубокой интеграции терминала, ибо многие вещи хотелось бы через него автоматизировать
стектрейсы в какой момент?
упрощенно говоря, я представляю себе etw как большой системный логгер, логи которого впихнуты во все ключевые места ос, ключевых компонентов, подсистем и можно самому такой лог у себя добавить. Есть тулы которые слушают эти логи и записывают в файлик, потом этот файлик другими тулами можно анализировать.
но я не очень понимаю как в эту концепцию вклинивается трассировка процесса. Что под этим подразумевается? могу я увидеть стектрейсы процесса в произвольное время? я пользуюсь wpa, потому что он еще умеет подгружать pdb, может знаете как еще можно так легко сделать трассировку процесса, потом симболизировать названия функций чтоб было понятно что примерно процесс делает?
и еще: логирует ли etw вызовы win32 api?
извиняюсь, получилось много вопросов, просто как-то в фоне в голове висят, а тут зацепился и вот)
немного не по теме, но можно подробно про то как отслеживать полную трассировку процесса через etw?
вот этого не понял… Что за публичная реализация? Можно пример, в котором видна разница
Dispose
иIDisposable::Dispose
вызовов?тогда у меня следующие вопросы:
1) зачем компилятор это делает (копирует переменную)? Это не то, что я ожидаю
2) почему в этом случае Dispose(), который в finally, вызывается через constrained? Ведь просто вызов (не override) метода у структуры — это просто call. Если структура приводится к интерфейсу — тогда будет box, которого я не вижу в finally
В общем: какую магию применяет компилятор по отношению к структурам в using?
запускал и получал те же результаты на netcore2.2, netcore3.0
Сказано так, будто у обычных структур есть финализатор