У меня есть приложение, которое падает только при оптимизации -O2 (скомпилировано с gcc 4.2.4). Когда я перебираю код и добираюсь до места, где происходит сбой, и пытаюсь проверить значение, я получаю «оптимизированное значение» в gdb.
Я прочитал в интернете, что это означает, что значение хранится в реестре. Мне было интересно, может ли моя авария быть связана с тем фактом, что некоторая информация заносится в регистры? Есть ли способ напечатать то, что находится в регистрах, чтобы увидеть, было ли оно повреждено? Есть ли способ сохранить оптимизацию, но не использовать регистры?
Спасибо!