Как я понимаю, отладчик Visual Studio использует файлы PDB, которые предоставляют информацию о том, какие инструкции ассемблеру необходимо поставить для точки останова, например:

I Также известно, что файлы PDB генерируются компилятором Roslyn и обеспечивают отображение кода c# на код IL, но во время выполнения отладчик работает с кодом сборки, а не с CIL.
Как отладчик сопоставляет asm с IL или работает по-другому?