UPDATE IP_ADMISSION_REQUEST ip1
SET IP1.WRIST_BAND_PRINT_STATUS=0
WHERE IP1.IP_ADM_REQ_ID =
(SELECT IP.IP_ADM_REQ_ID
FROM IP_ADMISSION_REQUEST ip
INNER JOIN VISIT v
ON ip.ip_visit_id=v.visit_id
AND v.pat_id =3702
); `enter code here`
Вы, вероятно, поражаете код в стандартных программах "кучи" отладки, которые нашли повреждение "кучи".
, На что стек вызовов похож при ударе Интервала 3?
Редактирование: На основе отслеживания стека в Ваших комментариях стандартная программа _CrtIsValidHeapPointer()
говорит, что освобождаемый указатель неверен. Вот отрывок кода из источника MSVC DBGHEAP.C:
/*
* If this ASSERT fails, a bad pointer has been passed in. It may be
* totally bogus, or it may have been allocated from another heap.
* The pointer MUST come from the 'local' heap.
*/
_ASSERTE(_CrtIsValidHeapPointer(pUserData));
pUserData
было бы значение указателя, Вы - deleteing.
(я думаю, asm интервал 3 является аппаратной командой прерывания работы для x86?
Это. Это звонило "аппаратная точка останова" . При использовании отладчика VS с исходным кодом проекта это точно так же, как точка останова (но в коде). С тех пор vs2005, если Ваше приложение запущено без какого-либо отладчика, приложение просто откажет, как то, если это запустило неуправляемое исключение.
В партии компании, существует простой макрос, используемый, чтобы добавить что точка останова в коде. Это может заменить, утверждает и исключения в некоторых (твердый и редкий) случаи:
#define BREAKPOINT __asm { int 3; }
BREAKPOINT;
См.:
, Таким образом, я предлагаю искать некоторый Макрос или объект, делающий это или возможно это appen в модуле (dll/lib), что у Вас нет кода?