问题描述
想做一个小工具,它能打印出程序运行过的代码所在的行数。比如:1if(i==1)2...3else4...5dosth();6...现在让i等于1,然后运行代码,由所做的小工具自动地记录程序运行的路径1,2,5,6...这样的工具能实现么?怎么实现呢?
解决方案
解决方案二:
以前我也想过类似的问题,至今还没有得到答案
解决方案三:
没想过。。。俺都是土办法,debug。。。
解决方案四:
研究一下stackTraceclassVisualBasic复制代码'Displaythestackframeproperties.DimsfAsStackFrame=st.GetFrame(i)Console.WriteLine("File:{0}",sf.GetFileName())Console.WriteLine("LineNumber:{0}",_sf.GetFileLineNumber())'Thecolumnnumberdefaultstozerowhennotinitialized.Console.WriteLine("ColumnNumber:{0}",_sf.GetFileColumnNumber())Ifsf.GetILOffset<>StackFrame.OFFSET_UNKNOWNConsole.WriteLine("IntermediateLanguageOffset:{0}",_sf.GetILOffset())EndIfIfsf.GetNativeOffset<>StackFrame.OFFSET_UNKNOWNConsole.WriteLine("NativeOffset:{0}",_sf.GetNativeOffset())EndIfC#复制代码//Displaythestackframeproperties.StackFramesf=st.GetFrame(i);Console.WriteLine("File:{0}",sf.GetFileName());Console.WriteLine("LineNumber:{0}",sf.GetFileLineNumber());//Notethatthecolumnnumberdefaultstozero//whennotinitialized.Console.WriteLine("ColumnNumber:{0}",sf.GetFileColumnNumber());if(sf.GetILOffset()!=StackFrame.OFFSET_UNKNOWN){Console.WriteLine("IntermediateLanguageOffset:{0}",sf.GetILOffset());}if(sf.GetNativeOffset()!=StackFrame.OFFSET_UNKNOWN){Console.WriteLine("NativeOffset:{0}",sf.GetNativeOffset());}
解决方案五:
楼上的代码好难啊...具体思路是什么呢?
解决方案六:
期待高人出现。。。