VS2010下调试.NET源码

微软走向开源,是时候用vs去单步调试进入源码了。参考地址:http://blog.csdn.net/waxgourd0/article/details/6600182

可供参考的文章:https://msdn.microsoft.com/en-us/library/Cc667410.aspx

1、工具- 选型 – 调试 - 常规,按照下图修改我框起来的地方:

2、工具- 选项 – 调试 - 符号,按照下图进行配置:

这里注意你只需要在位置里添加http://referencesource.microsoft.com/symbols这一项即可,后面是在编译过程中自己产生的,然后将符号缓存路径改为你希望放置的地方,在这里我的路径是D:\development\NetMassDownloader\src(我使用NetMassDonloader没有成功,总是搜索到可供下载的PDB文件为0,我使用的NetMassDownloader的版本为1.6.0.0,按照发布说明已经支持VS 10.0了,如果有谁知道怎么解决请告诉我一下),注意对此路径一定要有读写权限,最后勾选“除排除模块之外的所有模块”。

然后新建一个WPF的工程,我只是在界面上加了一个按钮,简单实现了一个按钮事件:

[csharp] view plain copy

print?

  1. private void button1_Click(object sender, RoutedEventArgs e)
  2. {
  3. MessageBox.Show("hello word");
  4. }

private void button1_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("hello word");
        }

在MessageBox.Show("hello word")上设置断点,运行之后在调用堆栈上就可以观察到调用过程:

右键点击非灰色的可以发现可以查看源代码:

F11单步执行的时候可以发现以前不能查看的代码这时也可以跟深层地追踪源代码:

灰色部分右键点击之后发现”转到源代码“不可用,这时在加载符号中选择如图所示,就可以查看源代码,期间会有下载相应PDB的过程:

至于加载信息显示如下:

如上图所示我在编译以前别的VS平台编译过的工程(经过转换)无法使用转到源代码,加载信息同样如上所示,我当时以为是前两项没有找到PDB的缘故。当我新建一个工程编译一次后,除了新建的这个工程可以使用转到源代码,原本以前平台编译过原本不能使用“转到源代码”功能的工程也同样可以使用此功能了,看来上面的加载信息与能否使用调试源码没有必然联系,在这里希望达人解答一下上面的含义。

最后MS并没有将全部的源代码都开源,所以有时在使用时会有“没有可用的资源”的提示,这时如果还要查看源码的话可以按照堆栈的层次用Reflector直接查看源码。

时间: 2024-10-10 12:27:30

VS2010下调试.NET源码的相关文章

Eclipse 下调试Tomcat6源码(转)

原地址:http://denger.iteye.com/blog/834121 近期对 Tomcat 的一些原理机制产生了兴趣,于是便下载源码进行 DEBUG 来一探究竟-     TOMCAT_6_0_18.zip 包下载地址: http://pan.baidu.com/s/1mgGcPug    下载解压后的目录结构: 很明显它是基于 ANT 来构建,直接通过 Eclipse -> New -> Java Project form Existing Ant Buildfile 直接选择 T

查看和调试Qt源码(动态编译的QT也可进入源码)good

简述 在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助. 都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进入.有人说需要静态编译 Qt 才可以,其实不然,只需要简单的几个配置就可以搞定. 简述 Qt 版本及安装 配置 Qt Creator 源码调试 更多参考 版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820 Qt 版本及安装 Qt 针对 Win

使用VS2012调试ReactOS源码

目录 一 下载并安装VS2012 二 下载并安装WDK80 三 下载ReactOS0315源码 四 下载并安装RosBE211 五 用RosBE命令行编译ReactOS源码 六 用VS2012编译ntoskrnl模块 七 制作ReactOS安装盘 八 用VirtualBox安装ReactOS 九 建立调试环境 十 调试ReactOS源码 一. 下载并安装VS2012 我安装的是VS2012_ULT_chs.iso, 网上随便下载 二. 下载并安装WDK8.0 下载地址: http://msdn.

js调试系列: 源码定位与调试[基础篇]

js调试系列目录: - 如果看了1, 2两篇,你对控制台应该有一个初步了解了,今天我们来个简单的调试.昨天留的三个课后练习,差不多就是今天要讲的内容.我们先来处理第一个问题:1. 查看文章下方 推荐 这个功能所调用的函数源码其实非常简单,点放大镜选中那个推荐即可.这个  votePost(cb_entryId,'Digg')  就是推荐按钮所调用的函数了,是不是非常简单. 第二个问题,定位到函数所在文件位置.其实也是非常简单的,当然,不熟悉控制台的朋友也许不知道怎么看.我在控制台输入 voteP

Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)

一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为了安全或者效率问题,会把一些重要的功能放到native层,那么这样一来,我们前篇说到的Eclipse调试smali源码就显得很无力了,因为核心的都在native层,Android中一般native层使用的是so库文件,所以我们这篇就来介绍如何调试so文件的内容,从而让我们破解成功率达到更高的一层.

使用vs2010编译lua5.1源码生成lua.lib

一.打开vs2010 二.创建项目 新建项目->win32控制台应用程序->下一步->应用程序设置中选择静态库,不勾选预编译头->完成.具体如下图: 三.拷贝源码 将lua源码中的*.h文件拷贝到项目的头文件文件夹下,将lua源码中的*.c文件拷贝到项目的源文件文件夹下. 四.生成lua.lib 项目右键->生成.此时即可在项目的Debug文件夹下看到生成的 lua.lib了. 使用vs2010编译lua5.1源码生成lua.lib,布布扣,bubuko.com

Windows,linux下编译qt源码(比较简单)

一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic –static –release -nomake examples  --nomake demos-nomake docs -continue 4.待执行完之后执行make 5.makeinstall 参考:http://www.cnblogs.com/qianyuming/archive/201

Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)

一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk  主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码注入技术来跟踪代码,然后找到关键方法进行修改,进而破解,同时还可以使用一些开源的hook框架,比如:Xposed和Cydia Substrate,来进行关键方法的hook.所以这里我们可以看到我们破解的第一步是使用ap

使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码

前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引擎之前,我们可以不那么方便地在我们创建的工程里调试Cocos2d-x的代码,当我们使用了整合后的Cocos引擎,调试Cocos2d-x的代码就变得更加,非常不方便了! 使用Cocos2d-x创建的项目,在最先的版本必须是在Cocos2d-x引擎的目录下,放到其他的位置需要进行各种麻烦的设置,诸如头文