void f( int i )
{
int s[MAXLEN]={1};
for( int j=1; j<MAXLEN; j++ ) {
s[j+1]=s[j] * i ;
}
...
}
Тут понятно off-by-one error. Сессия может выглядить так:
1. Прога компилиться и запускается, работает как пень 40MHz...
2. Прога автоматически тормозится на строкее s[j+1]=s[j]*j;
с ошибкой "выход за границы массива"
3. Девелопер дает команду "выйти из блока назад"
и дебаггер переходит в строку int s[MAXLEN]={1};
восстанавливая все значения (он их запомнил раньше)
4. Девелопер исправляет MAXLEN на MAXLEN-1
5. Это компилируется, прилинковывается,
но при этом значение i и всех остальных стэковых переменных и кучи
*не теряется* и проход программы возобновляетя не с начала,
а с точки int s[MAXLEN]={1};
________________________________________
Где-то такое реализовано (чую, щас лисперы прибегут...) ?
Какова ваша оценка полезности этого в реальной работе ?
Ответ на:
комментарий
от alexru



Ответ на:
комментарий
от JackYF

Ответ на:
комментарий
от tailgunner


Ответ на:
комментарий
от generatorglukoff

Ответ на:
комментарий
от www_linux_org_ru



Ответ на:
комментарий
от www_linux_org_ru

Ответ на:
комментарий
от svu

Ответ на:
комментарий
от gods-little-toy

Ответ на:
комментарий
от www_linux_org_ru

Ответ на:
комментарий
от tailgunner

Ответ на:
комментарий
от www_linux_org_ru

Ответ на:
комментарий
от YesSSS

Ответ на:
комментарий
от www_linux_org_ru

Ответ на:
комментарий
от svu

Ответ на:
комментарий
от Absurd

Ответ на:
комментарий
от www_linux_org_ru


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Отладчик. (2007)
- Форум Отладчик (2005)
- Форум отладчик pyscript (2022)
- Форум Отладчик Java (2013)
- Форум Отладчик GDB (2010)
- Форум php отладчик (2015)
- Форум нужен отладчик (2005)
- Форум компилятор (2010)
- Форум Компилятор (2007)
- Форум Компилятор (2004)