![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
А AV в модуле rtl100.bpl что значит ? Дубль два.
Kolan © (2007-03-16 14:51:00)Удалили уже.
Последние 2 поста:
[4] Игорь Шевченко © (21.02.07 18:14)
Kolan © (21.02.07 17:37) [2]
> Где искать ошибку...
В отладчике, посмотреть стек вызовов, найти, в каком месте твоей программы вызов функции из rtl приводит к AV, поставить точку останова, посмотреть параметры.
[цитата]
--------------------------------------------------------------------------------
[5] Kolan © (22.02.07 13:38)
> [4] Игорь Шевченко © (21.02.07 18:14)
> Kolan © (21.02.07 17:37) [2]
>
>
> > Где искать ошибку...
>
>
> В отладчике, посмотреть стек вызовов, найти, в каком месте
> твоей программы вызов функции из rtl приводит к AV, поставить
> точку останова, посмотреть параметры.
Попробую.
Итак пробую. Получил AV. Делаю бэйк. Вот стек:
:7c81eb33 kernel32.RaiseException + 0x52
:51f06a48 NotifyNonDelphiException + $1C
:7c90378b ntdll.RtlConvertUlongToLargeInteger + 0x46
:7c90eafa ntdll.KiUserExceptionDispatcher + 0xe
:00450400 ; E:\MyWork\Delphi\KFreGraf3Project\SoftWare\KFreGraf3\KFreGraf3v12\KFreGraf.exe
:004505ee ; E:\MyWork\Delphi\KFreGraf3Project\SoftWare\KFreGraf3\KFreGraf3v12\KFreGraf.exe
:51f3e8ef ThreadProc + $37
:51f0776e ThreadWrapper + $2A
:7c80b50b ; C:\WINDOWS\system32\kernel32.dll
Что теперь?
Kolan (2007-03-19 10:15:00) [1]Главное когда эта программа была без пакетов, то таких проблем небыло :(
Kolan (2007-03-19 09:53:00) [2]Этот модуль, в котором AV это доп. поток. При остановке стек:
:7c81eb33 kernel32.RaiseException + 0x52
:51f06a48 NotifyNonDelphiException + $1C
:7c90378b ntdll.RtlConvertUlongToLargeInteger + 0x46
:7c90eafa ntdll.KiUserExceptionDispatcher + 0xe
:51f0980a @DynArraySetLength + $A
:0045EC12 Kanisochronouscommreadthread::TAnisochronousCommReadThread::Execute(Self=:010928 A0)
:51f3e8ef ThreadProc + $37
:51f0776e ThreadWrapper + $2A
:7c80b50b ; C:\WINDOWS\system32\kernel32.dll
Или еще:
:7c81eb33 kernel32.RaiseException + 0x52
:51f06a48 NotifyNonDelphiException + $1C
:7c90378b ntdll.RtlConvertUlongToLargeInteger + 0x46
:7c90eafa ntdll.KiUserExceptionDispatcher + 0xe
:0045EA6C Kanisochronouscommreadthread::TAnisochronousCommReadThread::DoRead(Self=:010928A 0)
:0045EC5A Kanisochronouscommreadthread::TAnisochronousCommReadThread::Execute(Self=:010928 A0)
:51f3e8ef ThreadProc + $37
:51f0776e ThreadWrapper + $2A
:7c80b50b ; C:\WINDOWS\system32\kernel32.dll
Kolan (2007-03-19 09:49:00) [3]Так Я отлаживаю 2 видо ошибок. Есть код, если его закоментиовать, то то ошибок нет.
Если закоментировать одну часть, то будет List out of Bounds
Учли другую, то AV в rtl
> Собирать с отладочной информацией KFreGraf.exe ?
Да это помогло
1. List out of bounds
Попадаю сюда:
procedure TWinControl.PaintHandler(var Message: TWMPaint);
var
I, Clip, SaveIndex: Integer;
DC: HDC;
PS: TPaintStruct;
begin
DC := Message.DC;
if DC = 0 then DC := BeginPaint(Handle, PS);
try
if FControls = nil then PaintWindow(DC) else
begin
SaveIndex := SaveDC(DC);
try
2. AV
При AV в rtl попадаю на некоторый свой код причем разный все время, но всегда в одном и том же модуле
Что дальше делать?
Kolan (2007-03-17 19:48:00) [4]
> Собирать с отладочной информацией KFreGraf.exe ?
>
Черт, да об этом то я и забыл :) В ПН обязательно попробую....
Игорь Шевченко (2007-03-16 18:02:00) [5]
> Что теперь?
Собирать с отладочной информацией KFreGraf.exe ?