Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Hi all,
This post is a continuation of MANAGED DEBUGGING with WINDBG. Setting a Breakpoint. Part 1.
SETTING A BREAKPOINT. Part 2
· We set the breakpoint:
Regardless if method is jitted, we can set a breakpoint on a method by using its Method Descriptor:
0:004> !BPMD -md 00766d60
MethodDesc = 00766d60
Setting breakpoint: bp 00850A08 [WindowsApplication1.Form1.InitializeComponent()]
If it’s jitted, we can use its jitted code address:
0:004> bp 00850a08
And if we know the name of the method and in which module we can find it, we can set the breakpoint directly like this:
0:004> !BPMD WindowsApplication1 WindowsApplication1.Form1.InitializeComponent
Found 1 methods...
MethodDesc = 00766d60
Setting breakpoint: bp 00850A08 [WindowsApplication1.Form1.InitializeComponent()]
We can check that the breakpoint has been correctly set:
0:004> bl
0 e 00850a08 0001 (0001) 0:**** WindowsApplication1!WindowsApplication1.Form1.InitializeComponent()
If the method is not jitted, the breakpoint will be set whenever it gets jitted, so it won’t appear in the list of breakpoints until then:
0:004> !BPMD WindowsApplication1 WindowsApplication1.Form1.Button1_Click
Found 1 methods...
MethodDesc = 00766db8
Adding pending breakpoints...
0:004> !BPMD -md 00766db8
MethodDesc = 00766db8
Adding pending breakpoints...
· We can enable, disable and remove the breakpoints:
0:004> bl
0 e 00391940 0001 (0001) 0:**** WindowsApplication1!WindowsApplication1.Form1.get_Button6()
1 e 00390a08 0001 (0001) 0:**** WindowsApplication1!WindowsApplication1.Form1.InitializeComponent()
0:004> bd *
0:004> bl
0 d 00391940 0001 (0001) 0:**** WindowsApplication1!WindowsApplication1.Form1.get_Button6()
1 d 00390a08 0001 (0001) 0:**** WindowsApplication1!WindowsApplication1.Form1.InitializeComponent()
0:004> bc 0
0:004> bl
1 d 00390a08 0001 (0001) 0:**** WindowsApplication1!WindowsApplication1.Form1.InitializeComponent()
0:004> be 1
0:004> bl
1 e 00390a08 0001 (0001) 0:**** WindowsApplication1!WindowsApplication1.Form1.InitializeComponent()
Next post: MANAGED DEBUGGING with WINDBG. Setting a Breakpoint. Part 3.
Index: MANAGED DEBUGGING with WINDBG. Introduction and Index.
Regards,
Alex (Alejandro Campos Magencio)