Board index » delphi » Re: FastMM4

Re: FastMM4


2007-12-10 11:00:45 PM
delphi259
"Rich" <XXXX@XXXXX.COM>writes
Quote
I don't find any specific NG (CodeGear or other) for this so here goes...
It is the basm group.
 
 

Re: FastMM4

Hello,
if you look around there is a tool from JED for easier FastMM 4
configuration...
Greetings
Markus
 

Re: FastMM4

"François GAILLARD" <fgaillard [somewhere at] wideorbit.com>wrote in
message news:475f454f$XXXX@XXXXX.COM...
Quote
Hey Rich,
Can you show some example of leak report you get from FastMM?
And perhaps the FastMM options and the project options you used?
I've never been unable to get the lines/numbers, except with 3rd party
units where neither sources nor debug dcus were supplied (and which I
would certainly never ever think of using).
My guess is that some option setting is wrong somewhere.
A leak report is at the bottom of this message.
The first time I tried I used all options and settings as per the FAQ that
comes with FastMM. The second time I used all options as per the video from
CodeRage II.
So, that would mean I used FullDebugMode. Clear txt file on startup. Setting
a path spec to the FullDebugMode.dll and also tried copying that dll to the
.exe directory. Set a lib path to the source code. Added FastMM to the uses
clause. In the compiler options I set DebugInformation, Reference Info, Use
debug DCUs. In the linker options I tried Map file Off and Detailed, I set
Include TD32 debug info.
As I write that paragraph I see that this is too much to have to fiddle
with. There has got to be a better way!
--------------------------------2007/12/10
11:46:30--------------------------------
A memory block has been leaked. The size is: 20
Stack trace of when this block was allocated (return addresses):
4031DA
404733
404AFA
404768
619841
61AF91
484A87
4846DF
404B68
4846B5
The block is currently used for an object of class: TMemoryStream
The allocation number is: 13188
Current memory dump of 256 bytes starting at pointer address 17196F0:
1C 2B 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3D C0 AD F8 00
00 00 00 31 8F 71 01
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 05 00 00 49 32 40 00 C1
4E 42 00 28 4D 42 00
3D 4B 42 00 AB 6C 4C 00 25 63 4C 00 C5 62 4C 00 8E 9F 42 00 9F A8 42 00 C9
B3 42 00 C1 4E 42 00
71 4B 42 00 1A 4B 42 00 97 47 40 00 B6 67 4C 00 38 12 47 00 DA 84 47 00 38
12 47 00 DA 84 47 00
38 12 47 00 10 00 00 00 50 3B 66 01 61 F4 43 08 0C 9E 62 00 80 80 80 80 80
80 80 80 80 80 80 80
9E 0B BC F7 80 80 80 80 00 00 00 00 31 98 71 01 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00
E9 04 00 00 DA 31 40 00 33 47 40 00 FA 4A 40 00 68 47 40 00 36 60 5C 00 C8
9C 42 00 F9 9E 42 00
9F A8 42 00 C9 B3 42 00 AA A1 42 00 51 47 40 00 45 4B 40 00 25 4B 42 00 97
47 40 00 97 60 5C 00
. + B . . . . . . . . . . . . . . . . . = À ­ ø . .
. . 1  q .
. . . . . . . . . . . . . . . . . . . . I 2 @ . Á N
B . ( M B .
= K B . « l L . % c L . Å b L . Ž Ÿ B . Ÿ ¨ B . É ³
B . Á N B .
q K B . . K B . ? G @ . ¶ g L . 8 . G . Ú ? G . 8 .
G . Ú ? G .
8 . G . . . . . P ; f . a ô C . . ž b . ? ? ? ? ? ?
? ? ? ? ? ?
ž . ¼ ÷ ? ? ? ? . . . . 1 ˜ q . . . . . . . . . . .
. . . . . .
é . . . Ú 1 @ . 3 G @ . ú J @ . h G @ . 6 ` \ . È œ
B . ù ž B .
Ÿ ¨ B . É ³ B . ª ¡ B . Q G @ . E K @ . % K B . ? G
@ . ? ` \ .
--------------------------------2007/12/10
11:46:30--------------------------------
This application has leaked memory. The small block leaks are (excluding
expected leaks registered by pointer):
13 - 20 bytes: TMemoryStream x 1
Note: Memory leak detail is logged to a text file in the same folder as this
application. To disable this memory leak check, undefine
"EnableMemoryLeakReporting".
 

Re: FastMM4

Rich writes:
[FastMM FullDebugMode]
Quote
The first time I tried I used all options and settings as per the FAQ
that comes with FastMM. The second time I used all options as per the
video from CodeRage II.

So, that would mean I used FullDebugMode. Clear txt file on startup.
Setting a path spec to the FullDebugMode.dll and also tried copying that
dll to the .exe directory. Set a lib path to the source code. Added
FastMM to the uses clause. In the compiler options I set
DebugInformation, Reference Info, Use debug DCUs. In the linker options
I tried Map file Off and Detailed, I set Include TD32 debug info.
Have you fully rebuild the Application? Changing the TD32-option and
hitting run isn't enough to include the Debug-Info - You have to do a
build-all.
 

Re: FastMM4

Rich writes:
Quote
The first time I tried I used all options and settings as per the FAQ
that comes with FastMM. The second time I used all options as per the
video from CodeRage II.

So, that would mean I used FullDebugMode. Clear txt file on startup.
Setting a path spec to the FullDebugMode.dll and also tried copying
that dll to the .exe directory. Set a lib path to the source code.
Added FastMM to the uses clause. In the compiler options I set
DebugInformation, Reference Info, Use debug DCUs. In the linker
options I tried Map file Off and Detailed, I set Include TD32 debug
info.

As I write that paragraph I see that this is too much to have to
fiddle with. There has got to be a better way!
in fastmm4.pas search for this line:
StackTraceDepth = 9;
and change it to something higher like 50. Things will be slower but at
least you get the full stack. It could be that the top of the stack in
your situation is for units for which there is no debug info.
Jan Derk
 

Re: FastMM4

Markus.Humm writes:
Quote
if you look around there is a tool from JED for easier FastMM 4
configuration...
jedqc.blogspot.com/2007/07/new-fastmm4-options-interface.html
For christmas I think I am going to integrate it into the IDE (only
newer IDEs though)
If I have the time...
--
TJSDialog - TaskDialog for other operating systems:
www.jed-software.com/jsd.htm
Visual Forms IDE Add In: www.jed-software.com/vf.htm
Blog: jedqc.blogspot.com
 

Re: FastMM4

"Jan Derk" <XXXX@XXXXX.COM>writes
Quote
in fastmm4.pas search for this line:

StackTraceDepth = 9;

and change it to something higher like 50. Things will be slower but at
least you get the full stack. It could be that the top of the stack in
your situation is for units for which there is no debug info.
Thx, I will try that when I get a chance.
 

Re: FastMM4

Weird!
Thanks for posting the resolution.
++ Franois ++
"Rich" <XXXX@XXXXX.COM>writes
Quote
"Rich" <XXXX@XXXXX.COM>writes
news:XXXX@XXXXX.COM...
>I can not seem to get the full version of FastMM4 to show me source code
>line numbers in the output file.

It turns out to be an MSBuild issue.

This fixes the problem (I think JED posted this somewhere):

0. Shutdown Delphi 2007
1. run regedit.exe
2. HKCU\Software\Borland\BDS\5.0\Globals
3. Add a new string value named "MSBuildDelphi"
4. Set new string data value to "0"
5. Delete your dproj files for your projects
6. Restart Delphi 2007
7. Reload DPR project file
8. Build

Apparently that eliminates using MSBuild. So it would be nice to have a
fix using MSBuild or CodeGear can give us something better. If I am not
mistaken there use to be a nice program that came with Delphi before
MSBuild, hmm... what was it called. :-)

I guy named Rod posted once ranting for the removal of MSBuild, it may
turn out he was right.

Thx to everyone for the help.