如何实现自动记录程序运行过的代码所在的行数?

问题描述

想做一个小工具,它能打印出程序运行过的代码所在的行数。比如: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());}
解决方案五:
楼上的代码好难啊...具体思路是什么呢?
解决方案六:
期待高人出现。。。

时间: 2024-12-27 21:21:45

如何实现自动记录程序运行过的代码所在的行数?的相关文章

用VS2013编译opengl编程宝典第五版的第一个画三角形的例子,编译后程序运行不了

问题描述 用VS2013编译opengl编程宝典第五版的第一个画三角形的例子,编译后程序运行不了 代码如下: #include #include #define FERRGLUT_STATIC #include #include GLBatch trianglebatch; GLShaderManager shadermanager; int main(int argc, char* argv[]) { void RenderScene(); void ChangeSize(int w, int

xml-spring mvc程序运行tomcat错误

问题描述 spring mvc程序运行tomcat错误 代码信息: 错误信息: org.springframework.web.servlet.DispatcherServlet]Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JacksonHttpMessageConverter' defined in cl

vs2010显示代码行数的方法_实用技巧

从安装VS2010到现在已经有几个月了,每次看到别人的代码能显示行数而自己的不能总感觉不爽,刚百度了一下一共才3步: 1)打开你的VS2010找到  "工具"  里的  "选项" 2)点击选项里的"文本编辑器" 3)点击"所有语言", 在"显示"里将"行号"打钩,最后点击"确定" 设置完成后就可以显示行号了

基于.Net平台应用程序唯一运行实例C#代码实现

程序 概述本文是针对<基于.Net平台应用程序唯一运行实例实现>的补充,文章给出功能实现代码,其中SingleInstance类实现只允许一个实例运行,Program为测试主程序入口.在代码中标识说明文字.完整代码下载. 主要代码SingleInstance.cs文件, using System;using System.IO;using System.Diagnostics;using System.Threading;using System.Reflection;using System

控制-自己编的程序运行时串口被程序自己占用,如何用代码强制关闭重新连接?

问题描述 自己编的程序运行时串口被程序自己占用,如何用代码强制关闭重新连接? 我用vs2010基于MFC编一个小程序,其中有一部分是用单片机转USB串口与电脑程序相连.现在问题是: 不小心动了Usb线的话,程序会卡住,在想打开串口会显示串口被占用(就是自己的程序占用).需要把USB线拔下来才能解决问题.求大侠指导,能不能用代码控制,按个软件上的button,就能自动连接上com1. 求大侠指导! 解决方案 结束进程再重启看看行不行.首先要确定卡死不是驱动的问题,如果是驱动的问题,程序就无能为力了

mfc-MFC程序运行的时候得到执行的代码行数,怎么得到程序运行的进度信息呢?

问题描述 MFC程序运行的时候得到执行的代码行数,怎么得到程序运行的进度信息呢? MFC程序运行的时候得到执行的代码行数,怎么得到程序运行的进度信息呢? 解决方案 代码行数和进度没有关系.比如说有个循环,你能根据行数知道执行了多少次么还需要执行多少次么?

代码-程序运行和调试的问题

问题描述 程序运行和调试的问题 List userList = new List { new UserModel{ UserName="jiejiep", UserAge = 26}, new UserModel{ UserName="xiaoyi", UserAge = 25}, new UserModel{ UserName="zhangzetian", UserAge=24} }; public class TempClass { publ

sql-access表中字段为空时,程序运行产生中断,大家看下这些代码该怎么修改?

问题描述 access表中字段为空时,程序运行产生中断,大家看下这些代码该怎么修改? 解决方案 将这些字段设置成非可空字段,并且设置默认值为"",可以一劳永逸解决这个问题. 解决方案二: 用try catch来捕获异常 加错误处理

停止执行-android程序运行时会突然停止运行,但代码却没有错误。

问题描述 android程序运行时会突然停止运行,但代码却没有错误. 在下是新手,刚接触android开发.运行程序时不止一次遇到停止运行的情况,查看代码,发现并没有任何错误提示. 以下是MainActivity.java的代码: package com.example.sqlitetest; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import an