Closed Bug 115189 Opened 24 years ago Closed 24 years ago

trace-malloc blame: file name and line number information

Categories

(SeaMonkey :: General, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla0.9.8

People

(Reporter: blythe, Assigned: blythe)

Details

(Keywords: memory-footprint)

Attachments

(1 file)

On win32, there is a way to obtain the file name and line number information without much of a headache. I will likely run off and attempt to add this capability. I have heard at least one question posed regarding this capability in the spacetrace demo at which point I was unaware of the capability. I have also seen postings to the performance newsgroup stating there is no way to figure out if the function calls originated from a "static" symbol. This would definately help a long way in pointing actual source line "blame".
Status: NEW → ASSIGNED
Keywords: footprint
Target Milestone: --- → mozilla0.9.8
request for r= sr= builds on linux and win32, try it out, very cool.
Comment on attachment 62983 [details] [diff] [review] produce and utilize filename/linenumber data when available. ok, this is awesome. I think we should at least do a href with target="_other" (that just picks another active, window, right? My frame knowledge is rusty) so that we can browse source easily. Eventually we should use iframes :)
Comment on attachment 62983 [details] [diff] [review] produce and utilize filename/linenumber data when available. sr=alecf on the mozilla/xpcom stuff - I guess we don't need it for the rest
Attachment #62983 - Flags: superreview+
Attachment #62983 - Flags: review+
Checking in tools/trace-malloc/bloatblame.c; /cvsroot/mozilla/tools/trace-malloc/bloatblame.c,v <-- bloatblame.c new revision: 1.22; previous revision: 1.21 done Checking in tools/trace-malloc/spacetrace.c; /cvsroot/mozilla/tools/trace-malloc/spacetrace.c,v <-- spacetrace.c new revision: 1.11; previous revision: 1.10 done Checking in tools/trace-malloc/tmreader.c; /cvsroot/mozilla/tools/trace-malloc/tmreader.c,v <-- tmreader.c new revision: 1.10; previous revision: 1.9 done Checking in tools/trace-malloc/tmreader.h; /cvsroot/mozilla/tools/trace-malloc/tmreader.h,v <-- tmreader.h new revision: 1.8; previous revision: 1.7 done Checking in xpcom/base/nsDebugHelpWin32.cpp; /cvsroot/mozilla/xpcom/base/nsDebugHelpWin32.cpp,v <-- nsDebugHelpWin32.cpp new revision: 1.6; previous revision: 1.5 done Checking in xpcom/base/nsStackFrameWin.h; /cvsroot/mozilla/xpcom/base/nsStackFrameWin.h,v <-- nsStackFrameWin.h new revision: 1.4; previous revision: 1.3 done Checking in xpcom/base/nsTraceMalloc.c; /cvsroot/mozilla/xpcom/base/nsTraceMalloc.c,v <-- nsTraceMalloc.c new revision: 1.37; previous revision: 1.36 done Checking in xpcom/base/nsTraceMalloc.h; /cvsroot/mozilla/xpcom/base/nsTraceMalloc.h,v <-- nsTraceMalloc.h new revision: 1.14; previous revision: 1.13 done Checking in xpcom/base/nsTraceRefcnt.cpp; /cvsroot/mozilla/xpcom/base/nsTraceRefcnt.cpp,v <-- nsTraceRefcnt.cpp new revision: 1.77; previous revision: 1.76 done
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
The changes you've made to fix this bug are preventing me from building Mozilla with MSVC 5 (yes I know MSVC5 is old but it's the only version I have). I have successfully built 0.9.6 from the source (I did have to change 6 or 7 files to get it to build). I've now downloaded the 0.9.8 source and this fails with the errors +++ make: libs in e:\mozilla_source\mozilla\xpcom\base +++ make: Creating directory: WIN32_D.OBJ nsTraceMalloc.c e:\mozilla_source\mo zilla\xpcom\base\nsStackFrameWin.h(92) : error C2081: 'PIMAGEHLP_LINE' : name in formal parameter list illegal e:\mozilla_source\mozilla\xpcom\base\nsStackFrameWin.h(107) : error C2146: syntax error : missing ')' before identifier 'aLineInfo' e:\mozilla_source\mozilla\xpcom\base\nsStackFrameWin.h(107) : error C2081: 'PIMAGEHLP_LINE' : name in formal parameter list illegal e:\mozilla_source\mozilla\xpcom\base\nsStackFrameWin.h(107) : error C2280: missing '{' before identifier 'aLineInfo'? e:\mozilla_source\mozilla\xpcom\base\nsTraceMalloc.c(2227) : fatal error C1004: unexpected end of file found n.b.The version of the imagehlp.h file that comes with MSVC5 does not define PIMAGEHLP_LINE. Would it be possible to add a symbol that can be set before building to make the build leave out this feature. n.b. To build with MSVC 5 I already have to set the following symbols that switch off certain features MOZ_NO_ACTIVEX_SUPPORT, DISABLE_ACCESSIBILITY and NO_MFC
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I don't think we've ever attempted to support anything less than MSVC6 :( go download the MS Platform SDK - I assume it works with MSVC5, and hopefully it will come with new imghlp libraries...
MSVC5 used to be supported. http://www.mozilla.org/build/win32.html still says The following need to be installed for a standard win32 build: * Microsoft Visual C++ version 6.0 or later (make sure you have set up the compiler using the vcvars32.bat script that came with it. Version 5.0 may or may not work) As I said in an earlier comment I have successfully built 0.9.6 from the source with MSVC5 and the changes made for this bug stop me building 0.9.8
in any case, let's re-mark this fixed, because the bug was fixed in the general case, and open a new bug specifically against MSVC5.
Status: REOPENED → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: