| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Помогите разобраться с ошибкой. |
| Автор: GriKo 30.7.2003, 18:10 |
| Пользую Borland'овский компиллер. Пишет что-то типа этого. "Threat stopped c:\abc\i.exe: Fault: access violation at 0x401500: read of address 0x1b9c3d4" В чем может быть проблема? Выскакивает когда я пытаюсь присвоить значение переменной типа long. |
| Автор: TaTaP 31.7.2003, 02:48 |
| Типа мы тут не телепаты, можно кода поболее, а то как то невдомек, где и что у тебя происходит... |
| Автор: Kefir 31.7.2003, 07:47 |
| по твоей фразе можно лишь сказать, что ты лезешь туда, куда тебе лезть нельзя |
| Автор: RAN 31.7.2003, 08:21 |
| Ошибка памяти небось. Ты её либо не выделил, либо уже освободил, а может просто пишешь *x = 0;, а в x байда всякая, типа 0x1b9c3d4. |
| Автор: GriKo 31.7.2003, 14:15 | ||
все Т1 и т.д. - это константные массивы размером 63 типа лонг, заполненые значениями вида "0х00с00421Э и т.д. |
| Автор: RAN 31.7.2003, 22:50 | ||
Вот это да, даже разбираться не буду, голову сломаешь. Короче, припиши это int i1 = (( ((a & 0x00c00000) | ((a >> 1) & 0x07000000)) >> 1) | (a & 0x00100000)) >> 20; int i2 = ...................... l = T1[i1] | T2[i2] | T3[i3] Поставь breakpoint на int i1 = .... и пройдись, анализируя получаемые значения, или ещё лучше поставь бряк с условием, чтоб срабатывал только если i1-i3 больше 63 или меньше 0. Ошибка там - 97.5% |