Отладка в Delphi 7 - как посмотреть значение переменной
От: a1ex_k Россия  
Дата: 14.10.04 14:24
Оценка:
пишу код в Delphi 7:

var a,b:byte;
begin
a:=200;
b:=a+a;
Label1.Caption:=IntToStr(b);


в меню Project/Options вкладка Compile ставлю галку Overflow checking
1) при выполнении этого кода дебагер отлавливает ошибку переполнения и устанавливает курсор на строчку со сбойным кодом, но посмотреть значение переменных a,b не дает — пишет Error inspecting 'a': expression error .
2) если я устанавливаю точку останова на сбойном коде, то отладчик Delphi значения переменных отображает.

Вопрос: как посмотреть значение переменной в случае 1) с помощью отладчика Delphi?
Re: Отладка в Delphi 7 - как посмотреть значение переменной
От: gribunin Россия  
Дата: 14.10.04 15:10
Оценка:
Здравствуйте, a1ex_k, Вы писали:

_>Вопрос: как посмотреть значение переменной в случае 1) с помощью отладчика Delphi?


Возможно нужно отключить оптимизацию в свойствах проекта
----------------
Кирилл Грибунин
Re: Отладка в Delphi 7 - как посмотреть значение переменной
От: s.ts  
Дата: 15.10.04 06:27
Оценка:
Hello, a1ex_k!

ak> Вопрос: как посмотреть значение переменной в случае 1) с помощью

ak> отладчика Delphi?

Видимо, никак.
Posted via RSDN NNTP Server 1.9 gamma
Re: Отладка в Delphi 7 - как посмотреть значение переменной
От: Softwarer http://softwarer.ru
Дата: 15.10.04 06:35
Оценка: +1
Здравствуйте, a1ex_k, Вы писали:

_>Вопрос: как посмотреть значение переменной в случае 1) с помощью отладчика Delphi?


Вообще говоря, никак. То, что после исключения отладчик показывает на строку со сбойным кодом — это условность. На самом деле состояние программы в этот момент — достаточно непредсказуемое, можешь считать, что на самом деле исполняемая строка — "где-то". Соответственно, он не может показать переменные.

Если у тебя есть секция finally, except — когда ты придешь туда, отображение переменных "восстановится", точнее, будет соответствовать состоянию для этой секции.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.