I want to take a look at the resulting ASM (F # → IL-> ASM), which is generated for certain functions, solely out of curiosity and training.
The answer to my question is to use SOS.dll, but I came across a small obstacle ...
Let's start with the most basic code in F #. The file is called test.fs.
[<EntryPoint>]
let main _ =
stdin.ReadLine()
1
We define an entry point that accepts' a (limited, without pointing us (?) To the string array for obvious reasons (nonsense: can't "a" be used in the entry point function?)). Then we wait for user input. This greatly facilitates manual breakage in windbg. compile test.fs to create test.exe
Open windbg, open test.exe inside windbg:
>!load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos.dll
>g
Windbg will run our code and wait for the readline loop, then we can enter something into the console window and windbg will exit.
, , readline?
>!bpmd test.exe Test.main; g
windbg readline... , readline, . :! Bpmd test.exe Test.main;! bpmd test.exe Test;! bpmd test.exe main;! bpmd test.exe Main;! bpmd test.exe Main.test! bpmd test.exe Test... ect (, , ), , - , xx =...,
: - , F # windbg SOS?
:
http://winterdom.com/2011/06/having-fun-with-windbg
http://social.msdn.microsoft.com/Forums/en-US/clr/thread/a0ab6170-d53b-4c95-8f5e-efaf4e014fcd
http://blogs.msdn.com/b/vancem/archive/2006/09/05/742062.aspx