regex - Load .NET PDB Symbols from Microsoft (Resolved) -
i have set symbol server in vs 2010 according this:
http://msdn.microsoft.com/en-us/library/vstudio/b8ttk8zy(v=vs.100).aspx
but goal step regex class in regularexpressions namespace:
imports system.text.regularexpressions module module1 sub main() dim matobject match = regex.match("abc", "a") end sub end module
i know regularexpressions symbols in system.dll assembly made public long time ago because read article on while excited , did small overview. can't find article.
as stands, when "step into" match function, doesn't give me step-over dialog. steps over.
turns out there multiple issues surrounding this. part of them include visual studio 2008 sp1, hardly relevant issue in late 2013.
the solution me was... don't use symbol server. @ least in vs 2010, forces use "microsoft symbol servers" which, depending on 1 or 2 factors, may load generic location, or may load http://referencesource.microsoft.com/symbols.
the problem both, every time i've used symbol file locations, stripped pdb's. though might notice in subdomain "http://referencesource.microsoft.com/symbols", reference source getting big closer.
so did navigate to: download source, @ same subdomain. since i'm using .net 4.0, downloaded .net 4.0 source files.
wtf?? have downloaded junk file named netframework.aspx. freezes computer when open it. what's point? well, nobody tells this, have re-name whatever.msi. it's installer.
once run installer, have full symbols somewhere on machine. yay again!!! @ point, need make sure visual studio set properly.
- make sure project framework matches framework of source downloaded. (and/or vice versa)
- make sure "enable .net framework source stepping" enabled.
- for me, in options > debugging > symbols menu, selected "only specified modules" , selected nothing there. also, un-checked pdb locations nothing selected.
- sometimes platform target issue. mine set anycpu, may need experiment?
okay!! set, let's this... fail.
now when hit f11, still steps on code. well, if @ modules (while running), symbols system or mscorlib or whatever assembly says symbols not loaded. (that's good).
why good? because if they're loaded, can't load them. , typically, if they're loaded, loaded janky stripped pdb location gets nowhere. right-click assembly of choice , load path... , go wherever installed pdbs msi.
well great... if try step .net framework code, or if try load code call-stack, missing code error , option find source code greyed out!! thought had code!!!! loaded it.
let's @ module window. next assembly you're wanting load, you'll notice in version says "built by: rtmgdr" or "rtmrel" or that. well, rtmgdr means current version of code being used different original. why different? because kb security update installed. , since code different pdb... can't step in.
unfortunately, can't latest pdb. knows why... maybe because it's security update. can do... google version so:
"mscorlib.dll" 4.0.30319.xxx site:support.microsoft.com/kb
you not have click anything. @ url of first result , you'll see kb number so:
support.microsoft.com/kb/12345
open add/remove programs (run: appwiz.cpl), , view installed updates. you'll find kb under visual studio group, , can uninstall it.
then run visual studio again.. , you'll see new rtmgdr older version... google that, remove it's kb... rinse , repeat.
keep track of kb's remove (in order). can later re-install them after research.
once down version x.x.xxxx.1 (rtmrel), run visual studio break point... open modules... load symbols path... select pdb's msi... then.... step .net code
finally!!!
now when you're done, re-install kb's, keep other settings same next time. security important.
Comments
Post a Comment