![]() |
|
|
#1
|
||||
|
||||
|
Всем доброго!
Подскажите, как в среде посмотреть дамп рабочей памяти данных, т.е., например, есть такая конструкция: Код:
var tmp:Pointer; ... begin ... tmp:=AllocMem($FF); if MySuperFunction(tmp,$FF) then // тут брекпоинт begin ... З.Ы. Delphi7 или RAD2009 |
|
#2
|
||||
|
||||
|
в режиме отладки, в меню выбираешь evaluate/modify
|
|
#3
|
||||
|
||||
|
PByte(tmp)^
|
|
#4
|
||||
|
||||
|
хотя не не то...
Тебе сам куча нужна.. |
|
#5
|
||||
|
||||
|
Цитата:
Код:
type TBytes=array of byte; PBytes=^TBytes; ... var ... tmpView:PBytes; ... tmpView:=PBytes(tmp); if tmpView<>nil then// чтобы компилятор не оптимизировал begin// как неиспользуемую переменную end;//**** ... |
|
#6
|
||||
|
||||
|
Угу, простенькие средства есть. По Ctrl-F5 сносим переменную в "Watch List", в "Repeat count" указываем количество просматриваем байт (максимум 256
), режим промотра "Memory Dump". Не ахти что, но хоть что то. |
|
#7
|
||||
|
||||
|
Цитата:
Код:
var b: PByteArray; begin b:=GetMemory(10); b^[0]:=13; FreeMemory(b); end; |
|
#8
|
||||
|
||||
|
Цитата:
Кстати там же (в EntireCPU) есть и содержимое регистров, и CallStack. Очень удобно. Последний раз редактировалось Bargest, 15.06.2012 в 18:27. |