Welcome to MSDN Blogs Sign in | Join | Help

MemoRx incorrectly displaying VM overlap in pre-release Windows Mobile versions

Many OEM’s have already noticed that Memory Doctor doesn’t correctly represent VM overlap in some pre-release versions of Windows Mobile. There have been some changes in WM VM architecture that contradict an assumption made by MemoRx which results in potential incorrect reporting. MemoRx will continue to work well in officially release versions of Windows Mobile. 

 

Instead of updating MemoRx and continuing with our 2-tool approach, we though it would be more useful to merge the useful features of MemoRx with devHealth to create the devHealthViewer. We are currently working on the documentation as well as some additional features to this new tool, but I can tell you it is very impressive and useful. You can download a version of this tool today from Jetstream under the WM6 Tools directory.

Published Friday, January 11, 2008 12:07 AM by shende

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# » MemoRx incorrectly displaying VM overlap in WM6.1 MSDN Blog Feed

# re: MemoRx incorrectly displaying VM overlap in pre-release Windows Mobile versions

Wednesday, January 16, 2008 12:32 AM by daniel

When I execute devHealthViewer.exe in WM6.1 device, the system will popup an exception window which informs the lack of some files or component (System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx).

Can anyone help answer me what's wrong with the tool? Do I miss something necessary?

# re: MemoRx incorrectly displaying VM overlap in pre-release Windows Mobile versions

Wednesday, January 16, 2008 11:12 AM by motanis

I have used the version of devhealth.exe released with Build 19174.1.0.0. Then, open the output file mem_1.txt with devhealthviewer.exe. I found heap/stack and DLL allocation didn't follow the rule if virtual memory optimization of AKU1 is enabled

"allocate Heap/Stack from low to high virtual address , allocate DLL from high to low virtual address"

Is it right?  The following are parts of mem_1.txt

Memory usage for Process 8034ae30: 'shell32.exe' pid 3  

Slot base 08000000  Section ptr 85e95000

 08000000(1): ----------------  

 08010000(0): -pppdppppdppp-pp  

 08020000(0): ppppppppppp-----  

 08030000(0): -p-pppppppp--ppp  

 08040000(0): p-p-ppp--ppppp--  

 08050000(0): ---ppppp-EEEE--   <-- End EXE: 0x0805ec20

 08e20000(0): ---d------------  

 08e40000(0): --d----------D--  <-- DLL: wlmcontactsdatabase.dll

 08e50000(0): ---              

 08e60000(0): -----d----------  

 08e70000(0): ---------d------  

 08e80000(0): ---D-----         <-- DLL: wlmshared.dll

 08e90000(0): --d----------dd-  

 08ea0000(0): -DD---            <-- DLL: wlmuiframework.dll +

 08eb0000(0): -ddD---           <-- DLL: wlmtodayscreen.dll

 08ec0000(0): -------D---       <-- DLL: wlmhssearchbarcode.dll

 08ed0000(0): -dD---            <-- DLL: wcplugin.dll

 098b0000(0): -----------SSSSS  

 098c0000(0): -------------SSS  

 099a0000(0): ---------------S  

 09a00000(0): HHHHHHHHHHHHHHHH  <-- Heap:0x09a00000

 09a10000(0): HHHHHHHHHHHHHHHH  <-- Heap:0x09a00000

 09a20000(0): HHHHHH---------   <-- Heap:0x09a00000

 09a30000(0): ---------------S  

 09a40000(0): --------------SS  

 09a50000(0): -------------SSS  

 09a70000(0): -------------SSS  

 09a80000(0): ------------SSSS  

 09a90000(0): H---------------  <-- Heap:0x09a90000

 09ab0000(0): ---------------  

 09ac0000(0): H---------------  <-- Heap:0x09ac0000

 09ae0000(0): ---------------  

 09af0000(0): -----------SSSSS  

 09b00000(0): --------------SS  

 09b10000(0): --------------SS  

 09b20000(0): H---------------  <-- Heap:0x09b20000

 09b40000(0): ---------------  

 09b60000(0): ---------------S  

 09b70000(0): ---------------S  

 09b80000(0): -------------SSS  

 09b90000(0): HHHHHHHH--------  <-- Heap:0x09b90000

 09bb0000(0): ---------------  

 09bc0000(0): HHHHHHHHHHHHHHHH  <-- Heap:0x09a00000

 09bd0000(0): HHHHHHHHHHHHHHHH  <-- Heap:0x09a00000

 09be0000(0): HHHHHHHHHHHHHHHH  <-- Heap:0x09a00000

 09bf0000(0): HHH-------------  <-- Heap:0x09a00000

 09c00000(0): HHHHHHHHHHHHH---  <-- Heap:0x09c00000

 09c20000(0): ---------------  

 09c30000(0): WWWWWWWWWWWWWWWW  

 09d80000(0): ----------------  

 09e80000(0): ---DD----------D  <-- DLL: siminit.dll ril.dll ccoreutl.dll

 09eb0000(0): -------------DDD  <-- DLL: wsppush.dll wsp.dll wap.dll

 09ec0000(0): --DDD---DD---D-D  <-- DLL: tmailutl.dll + + pushrouter.dll pushprxy.dll netui.dll gx.dll

 09ed0000(0): -----DD---------  <-- DLL: bthutil.dll btdrt.dll

 09ee0000(0): --DD-------DD---  <-- DLL: pimstore.dll pimapi.dll cemapi.dll calstore.dll

 09ef0000(0): ------------DD--  <-- DLL: custsat.dll zlib.dll

 09f00000(0): D-D----D--------  <-- DLL: ws2.dll winsock.dll toolhelp.dll

 09f10000(0): ---DDDDD--------  <-- DLL: ossvcs.dll + oleaut32.dll ole32.dll +

 09f20000(0): -----D----------  <-- DLL: iphlpapi.dll

 09f30000(0): --D---------D---  <-- DLL: dmsapi.dll commctrl.dll

 09f40000(0): --D-----D--D-D-D  <-- DLL: syncutil.dll shutil.dll pimutil.dll + mmtimer.dll

 09f50000(0): ------DD--------  <-- DLL: imaging.dll +

 09f60000(0): ------DDD-D---DD  <-- DLL: citydb.dll chngtrk.dll ceshell.dll cellcore.dll aygshell.dll +

 09f70000(0): -----DDDDDDDDDDD  <-- DLL: actsyncc.dll wininet.dll + urlmon.dll + + shlwapi.dll msxml3.dll + + +

 09f80000(0): D------------D--  <-- DLL: msxml3.dll htmlview.dll

 09f90000(0): -----D----------  <-- DLL: simtkit.dll

 09fe0000(0): ----------------  

 09ff0000(0): ------------D---  <-- DLL: coredll.dll

# re: MemoRx incorrectly displaying VM overlap in pre-release Windows Mobile versions

Wednesday, January 16, 2008 11:20 AM by motanis

My question is that heap/stack is not allocated from the free VM space right after 0x08050000. From output, I found there still were many spaces between 08050000 & 08e40000. Free spaces for stack/heap are not searched from low VM addr to high addr anymore?

thanks

# re: MemoRx incorrectly displaying VM overlap in pre-release Windows Mobile versions

Wednesday, January 16, 2008 2:14 PM by Joe Broxson (MS)

>> # re: MemoRx incorrectly displaying VM overlap in pre-release Windows Mobile versions

>> Wednesday, January 16, 2008 12:32 AM by daniel

>> When I execute devHealthViewer.exe in WM6.1 device, the system will popup an exception

>> window which informs the lack of some files or component (System.Windows.Forms,

>> Version=2.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx).

>>

>> Can anyone help answer me what's wrong with the tool? Do I miss something necessary?

Daniel:

Please make sure that you have the .NetFramework 2.0 installed and that you are not trying to execute the application across the network (if you are you will need to adjust the framework permissions appropriately to allow this.)

Thanks!

# re: MemoRx incorrectly displaying VM overlap in pre-release Windows Mobile versions

Wednesday, January 30, 2008 9:44 PM by jxy1101

One suggestion -- The left GUI part is too small to read and click.  It's better if it can be zoom in/out.

David

# re: MemoRx incorrectly displaying VM overlap in pre-release Windows Mobile versions

Tuesday, March 25, 2008 7:31 AM by Chandan

re: MemoRx incorrectly displaying VM overlap in pre-release Windows Mobile versions

Wednesday, January 16, 2008 12:32 AM by daniel

When I execute devHealthViewer.exe in WM6.1 device, the system will popup an exception window which informs the lack of some files or component (System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx).

Can anyone help answer me what's wrong with the tool? Do I miss something necessary?

------------------------------------------

I agree with Daniel, on newer AKU 1 builds (build 19915, it throws up this error. .NET CF 2.0 is installed. Will Microsoft release a newer version of DevHealthViewer to support the latest WM 6.1.2 builds?

# re: MemoRx incorrectly displaying VM overlap in pre-release Windows Mobile versions

Thursday, April 10, 2008 10:31 PM by haibo

HI,Why you make the DevHealthViewer.exe run on device,It should run on host PC.The Doc of the app say clearly,that it's just to provides a visualization of the log produce by DEVHEALTH.EXE.AND You must copy the log which produce by DEVHEALTH.EXE from device to PC,and run DevHealthViewer.exe on pc to open this log.

# re: MemoRx incorrectly displaying VM overlap in pre-release Windows Mobile versions

Thursday, May 22, 2008 8:07 AM by chandan

Thanks very much haibo for your response,

i didnt read the readme properly and was running it on the device !!.

Great tool!!.

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker