Re: SOS.dll loses symbol information



Thank you for your reply.
Ok, here we go from the start

Start windbg
Attach to the aspnet_wp process (loads all modules)

At the command line I type ".load clr10\sos.dll"

Then "!sym noisy"
noisy mode - symbol prompts on

then ".reload"
Reloading current modules
....................................................................................................................................................
DBGHELP: ntdll - public symbols

c:\symbols\ntdll.pdb\36515FB5D04345E491F672FA2E2878C02\ntdll.pdb

then "k"
ChildEBP RetAddr
05a6ffc8 7c9507a8 ntdll!DbgBreakPoint
05a6fff4 00000000 ntdll!DbgUiRemoteBreakin+0x2d


Now I set a breakpoint for CLR exceptions. The bp will dump the managed
stack and then continue.
"sxe -c "!cen;!clrstack -p;g" CLR"

Then I hit go and load the main page. The debugger outputs the managed
stack along with the param names and actual source code line numbers.

System.InvalidCastException (0x15bba80)
Thread 1
ESP EIP
0x0086f6f4 0x7c81eb33 [FRAME: HelperMethodFrame]
0x0086f720 0x04effa67 [DEFAULT] ValueClass System.DateTime
Microsoft.VisualBasic.CompilerServices.DateType.FromObject(Object)
0x0086f760 0x04eff92f [DEFAULT] ValueClass System.DateTime
CEC.Data.DBConvert.CvDate(Object)
at [+0x4f] [+0x1b]
PARAM: class System.Object obj: 0x00e7b8e0 (System.DBNull)
0x0086f7b0 0x0496c409 [DEFAULT] [hasThis] Void CEC.VC.User..ctor(I4)
at [+0x4b1] [+0x277]
PARAM: this: 0x015b7c10 (CEC.VC.User)
PARAM: int32 UserID: 3064790
0x0086f880 0x05866781 [DEFAULT] [hasThis] Void
VC.BreadCrumb.Page_Load(Object,Class System.EventArgs)
at [+0xa1] [+0x52]
C:\All_prod_Source\VC_MC\Controls\Components\BreadCrumb.ascx.vb:25
PARAM: this: 0x0151fa60 (ASP.BreadCrumb_ascx)
PARAM: class System.Object sender: 0x0151fa60 (ASP.BreadCrumb_ascx)
PARAM: class System.EventArgs e: 0x00ed0558
0x0086f8d4 0x00b2b55b [FRAME: MulticastFrame] [DEFAULT] [hasThis] Void
System.EventHandler.Invoke(Object,Class System.EventArgs)
0x0086f8e8 0x056437dc [DEFAULT] [hasThis] Void
System.Web.UI.Control.OnLoad(Class System.EventArgs)

Now this works again and again if I refresh the page. When I click on a
different link that brings me to another section of the site I get the
same invalid cast exception dump but without the lines and param names.

System.InvalidCastException (0x12ae12c)
Thread 1
ESP EIP
0x0086f584 0x7c81eb33 [FRAME: HelperMethodFrame]
0x0086f5b0 0x04effa67 [DEFAULT] ValueClass System.DateTime
Microsoft.VisualBasic.CompilerServices.DateType.FromObject(Object)
0x0086f5f0 0x04eff92f [DEFAULT] ValueClass System.DateTime
CEC.Data.DBConvert.CvDate(Object)
0x0086f640 0x091e8611 [DEFAULT] [hasThis] Void CEC.VC.User..ctor(I4)
0x0086f710 0x091e7b6f [DEFAULT] Void
CEC.VC.UserCache.CacheUserInfo(I4,SZArray String,Class
System.Web.SessionState.HttpSessionState)
0x0086f7b0 0x091e6fb8 [DEFAULT] [hasThis] Void
VC.Navigation.Page_Load(Object,Class System.EventArgs)
0x0086f8d4 0x00b2b55b [FRAME: MulticastFrame] [DEFAULT] [hasThis] Void
System.EventHandler.Invoke(Object,Class System.EventArgs)

..reload

Reloading current modules
....................................................................................................................................................
DBGHELP: ntdll - public symbols

c:\symbols\ntdll.pdb\36515FB5D04345E491F672FA2E2878C02\ntdll.pdb

k

ChildEBP RetAddr
07f9ffc8 7c9507a8 ntdll!DbgBreakPoint
07f9fff4 00000000 ntdll!DbgUiRemoteBreakin+0x2d

The output from those commands looks exactly the same. I'm at a loss as
to why it cannot use the symbol information.



Dan Nemesek wrote:
Hi,

Execute the following commands to get the debugger to tell you what it's
doing during resolution
"!sym noisy"

Then execute ".reload" to get the debugger to re-resolve symbols using the
current sym path. Execute a "k" command to resolve a stack that contains
the image your interested so you can see what it does. If your image is not
in a current stack you can force it to load by executing ".reload /f
myimage.ext"

Do this when the symbols resolve and then repeat when the symbols don't
resolve to see if you notice any difference.

Thanks,

Dan

This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. © 2002 Microsoft Corporation.
All rights reserved.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
Please reply to the newsgroups only.

.



Relevant Pages

  • Re: Copying Directories
    ... Here is a program for getting rid of junk files. ... * @param pName ... DirFilter(String[] pAvoidDirs) ... * exec command to invoke NT command processor customised for my ...
    (comp.lang.java.programmer)
  • Re: Is Java Applet Best?
    ... * @param pName ... DirFilter(String[] pAvoidDirs) ... * Accept only junk files to be deleted. ... * exec command to invoke NT command processor customised for my ...
    (comp.lang.java.programmer)
  • Re: IIS-bug - CGI-applikation terminates when loading standard DLL
    ... Hit refresh and the page will load fine second time round. ... not executed with the CreateProcessAsUserAPI call by IIS anymore. ... Here is a description of how to set the metabase property which control ... If the command is successful, it will tell you it updated the setting, ...
    (microsoft.public.inetserver.iis)
  • Re: UserForm Is A Class
    ... I have a simple userform with one command button. ... I see the behaviour that you point out about Load and Show and wil then ... Load myForm ... the Unload is done implictly when then routine ends and the ...
    (microsoft.public.word.vba.general)
  • Re: The Spectrum is a computer for GIRLS !!!
    ... have a load of code after it but all programs were basic programs ... that start out like this are machine code. ... Four POKES and a SYS command and the block of memory you specify is saved to ... the load is finished, is pointing to a new piece of machine code. ...
    (comp.sys.cbm)