Вопрос возник такой.
Поможет кто ответом?
Поможет кто ответом?
Если ты про студию, то абсолютно также как и с ними, у тебя по-прежнему два вида сборки debug и release, на обоих выключено все что у тебя написано, но в настройках проекта в debug врубаешь генерацию дебаг символов, выключаешь все оптимизации и дебажишь соответственно.Вопрос возник такой.
Поможет кто ответом?
Вообще студия всегда позволяет дебажить код, если доступны дебаг символы, то можно будет дебажить свой код именно на плюсах или будет генериться более понятный код на ассемблере, которой также можно дебажить.Имеется в виду обычная отладка в студии. Когда тестировал компиляцию без CRT, то не позволяло дебажить код
да, ошибкаВообще студия всегда позволяет дебажить код, если доступны дебаг символы, то можно будет дебажить свой код именно на плюсах или будет генериться более понятный код на ассемблере, которой также можно дебажить.
если символы недоступны, то также можно дебажить ассемблер.
Что значит не позволяла? ошибка какая то или еще что?
какая или какие конкретно?да, ошибка
сейчас сделаю проекткакая или какие конкретно?
Если нет CRT, чисто свой код, то действительно проще в отладчике. x64dbg может даже сорцы подтягивать (если есть pdb), будет почти как в студийном.Когда тестировал компиляцию без CRT, то не позволяло дебажить код
1>CRT.cpp
1>CRT.obj : error LNK2019: unresolved external symbol __RTC_CheckEsp referenced in function _main
1>CRT.obj : error LNK2001: unresolved external symbol __RTC_InitBase
1>CRT.obj : error LNK2001: unresolved external symbol __RTC_Shutdown
1>LINK : error LNK2001: unresolved external symbol _mainCRTStartup
1>C:\Users\RelaxLife\source\repos\CRT\Debug\CRT.exe : fatal error LNK1120: 4 unresolved externals
int a = 53;выше проект есть, вроде работаетТы можешь писать код с /nodefaultlib без crt и эксепшенов, а в настройках проекта в конфиге дебага все это включить, таким образом дебаг скомпилируется, как и релиз без этого всего при условии что основной код написан без зависимостей, + в дебаге сможешь использовать stl и что душе угодно чтобы легче управлять памятью и записывать какой-то вывод в файлы, только этот код надо будет обмазать #ifdef _DEBUG.
Можешь сделать по-другому, в настройках проекта или решения, не помню где точно, создать новую конфигурацию, скопировать все настройки с релиза и еще немного поднастроить, будет некий аналог конфига дебага.
В настройках поставишь predefined макрос вроде _DEBUG и еще чего тебе нужно, если нужно.
выключаешь C++ exceptions, basic run-time checks ставишь на default, ставишь no CRT, no SDL(/sdl-), disable security checks(/GS-) и скорее всего тебе придется еще выключить whole program optimization.
Оставляешь в линкере /Nodefaultlib и ставишь генерацию дебаг символов.
Ставишь в этом же режиме оптимизации на уровень /Od, чтобы код следующего вида не убирался в силу неиспользования и чтобы код не оптимизировался х#й пойми во что если ты не правильно напишешь реализацию и чтобы можно было построчно дебажить.
int a = 53;