Ответ в нижней строке: если вы никогда не собираетесь использовать CLR или какие-либо объекты .Net в своем приложении, просто используйте обычную библиотеку Win32 C ++. Делая что-нибудь еще, вы почувствуете боль в будущем.
Теперь, чтобы ответить на первоначальный вопрос об отладке, да, отладка с помощью CLR имеет определенные преимущества по сравнению с отладкой обычного приложения C ++. Начиная с Visual Studio 2005, и C #, и VB.Net начали концентрироваться на том, чтобы сделать отображение переменных в окне locals / autos / watch гораздо более ценным. Это было сделано главным образом посредством введения атрибутов .Net, таких как DebuggerDisplay, DebuggerTypeProxy и среды визуализатора.
Если вы не используете какие-либо типы .Net, вы не получите ни одно из этих преимуществ.
Средство оценки выражений C ++ не использует ни одного из них. У него есть свои методы настройки отображения типов. Но он не такой функциональный (или потенциально опасный), как стиль атрибута, потому что он не позволяет запускать код в процессе debugee.
Это не значит, что отладка C ++ дает плохой опыт. Это просто отличается, и есть лучшие отображения для многих типов контейнеров STL.
Отладка приложения CLR также имеет определенные недостатки. Например, отладка оптимизированного кода иногда практически невозможна, потому что JITer будет скрывать локальные переменные, параметры и часто «это». Отладка аналогично созданного приложения C ++ также может быть разочаровывающей, но вы всегда можете взять регистры и разобраться, чтобы увидеть, что происходит. Делать то же самое для приложения CLR в лучшем случае сложно.