debugger

PDB文件:每个开发人员都必须知道的

*爱你&永不变心* 提交于 2019-12-29 05:49:23
PDB Files: What Every Developer Must Know http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must-know.aspx PDB文件:每个开发人员都必须知道的 一 什么是PDB文件 大部分的开发人员应该都知道PDB文件是用来帮助软件的调试的。但是他究竟是如何工作的呢,我们可能并不熟悉。本文描述了PDB文件的存储和内容。同时还描 述了debugger如何找到binay相应的PDB文件,以及debugger如何找到与binay对应的源代码文件。本文适用于所有的Native和 Managed的开发人员。 在开始前,我们先定义2个术语:private build, 用来表示在开发人员自己机器上生成的build;public build,表示在公用的build机器上生成的build。private build相对来说比较简单,因为PDB和binay在相同的地方,通常地我们遇到的问题都是关于public build。 所有的的开发人员需要知道的最重要的事情是”PDB文件跟源代码同样的重要“, 没有PDB文件,你甚至不能debugging。对于public build,需要symbol server存储所有的PDB

VS2008远程调试

ぐ巨炮叔叔 提交于 2019-12-27 04:30:49
  远程调试适用于目标机器没有开发环境且Bug无法在其他机器上重现的环境,是开发和测试中很实用的一种调试方法。下面简单介绍一下VS2008远程调试的方法。 将VS安装目录下Remote Debugger内x86文件夹(32位程序,64位程序拷x64文件夹)拷入目标机器待调试程序的文件夹。我的文件夹路径为C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86,如下图: 本地机器,VS2008工程属性->linker->debugging->Generate Debug Info选择yes,生成pdb文件。将生成的exe和pdb一起拷入目标机器。 目标机器,打开msvsmon.exe,设置Tools->Options->No Authentication(native only)->Allow any user to debug,点击确定。保存Server name。如图所示: 本地机器,工程属性->Debugging->Debugger to launch->Remote Windows Debugger。设置Remote Command为目标机器待调试程序的路径,Remote Server Name 为步骤4中保存的Server name。Connection为Remote with

Visual Studio Remote Debugger(for 2005/2008) .net远程调试<转>

我的梦境 提交于 2019-12-27 04:18:36
我采用虚机的方式模拟了局域网环境,以下是我操作的步骤(client代表客户端,server代表调试机): 建立ASP.NET项目(client):简单写了点Code 代码 把项目部署到server端:项目拷贝到server端,在IIS中建立了网站,路径指向项目路径。 以下是为调试所做的工作,不过需要保证client端和server端用同一账号登陆,且密码也相同:  3. 共享server端的网站路径  4. 安装Visual Studio Remote Debugger:在client端的VS 安装路径 \Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x86中拷贝msvsmon.exe和msvsmon.exe.config到server端。  5. 运行server端运行msvsmon.exe, 弹出Visual Studio Remote Debugging Monitor窗口。       6. 点击Tools | Option, 复制 server name 到剪切板中       7. Client打开server的共享目录,并用VS打开目录中的解决方案  8. 在代码中打入断点,并选择调试 | 附加到进程, 在限定符中粘贴刚才复制的server name,点击下边的刷新按钮, 开始刷新进程。       9.

VS2015 远程调试:Remote Debugger

南笙酒味 提交于 2019-12-24 04:58:59
一、关于Remote Debugger   使用VS远程调试器Remote Debugger,我们可以调试部署在不同机器上的应用程序,如桌面应用程序和Asp.Net应用程序。 二、Remote Debugger 的获取   获取方式有两种,我们经常使用的是从开发人员的机器中VS 2015的安装目录下,e.g : C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger,将Remote Debugger文件夹拷贝到目标机器(任意路径下)。另外一种获取方式是下载Remote Debugger(需同操作系统的版本一致),这里不多赘述。 三、Remote Debugger的配置   Remote Debugger支持远程用户身份验证方式有两种:Windows身份验证(默认方式),和无身份验证。   在Remote Debugger文件下找到msvsmon.exe,使用管理员身份运行。点击Tools,查看配置。        使用Windows身份验证,确认Permissions(权限)如下:        使用无身份验证方式,确保勾选任意用户:      四、VS2015打开应用程序源程序的配置   在VS2015中,打开同远程目标机器一致的应用程序源代码,选择:Debug(调试)

NodeJs之调试

风格不统一 提交于 2019-12-23 23:44:24
关于调试 当我们只专注于前端的时候,我们习惯性F12,这会给我们带来安全与舒心的感觉。 但是当我们使用NodeJs来开发后台的时候,我想噩梦来了。 但是也别泰国担心,NodeJs的调试是很不方便!这是肯定的。 但是还好,我们有## node-inspector ##来帮助我们解决一部分的调试问题,但是对于异步能力很强的NodeJs它还是有点力不从心。 node-inspector 安装node-inspector 依旧是通过npm来全局安装node-inspector npm install -g node-inspector 测试代码 //event.js var events = require('events'); var util = require('util'); function tianxiasan(name){ this.name = name; events.EventEmitter.call(this); } util.inherits(Restaurant, events.EventEmitter); //定义角色 var restaurant = new tianxiasan('奕剑'); 这就是我们要调试的代码 启动node-inspector 先启动node-inspector C:\Users\Administrator>node-inspector

IDEA中debugger模式调试Stream操作

一笑奈何 提交于 2019-12-21 20:14:52
jdk1.8新增的Stream流操作,极大地提升了编程快感,也精简了代码。同时,存在一个问题——debugger下不易调试,不能一行一行地看到执行结果。庆幸的是,Java Stream Debugger 插件解决了此问题。 IDEA版本:IntelliJ IDEA 2018.2.4 JDK:1.8+ 在插件库,可以看到Java Stream Debugger插件已经被默认集成到了IDEA中了。有的IDEA版本较低会没有集成此插件,需要升级你的IDEA。 代码演示: 注意:显示时需要几秒钟。 如果我的文章对你有帮助,请点赞让更多人知道这篇文章是有价值的。如果可以的话,请关注一下博主~ 来源: CSDN 作者: cauchy6317在csdn 链接: https://blog.csdn.net/cauchy6317/article/details/103642519

Android Studio无法单点调试Connected to the target VM, address 'localhost8601', transport 'socket'

一世执手 提交于 2019-12-15 20:06:15
在windows上用AndroidStudio开发android时遇到了一个问题: 在XXX-java中报出提示: Connected to the target VM , address : 'localhost:8601' , transport : 'socket' 然后app进入等待状态然后黑屏了,无法进入调试。 解决1: 端口被占用,需要杀死对应进程,但实际上该端口是AndroidStudio在使用。如果同时用Eclipse和AndroidStudio同时进行android开发倒有这个可能,然而我只在使用AndroidStudio,故而此方法不适用。(确保adb是AndroidStudio的adb) 解决2: in android studio: tools->android->enable adb integration(this should be checked) uncheck this, then check again. this solved me this problem. (it restarts the adb integration)。该方法来自stackoverflow,然而我试了之后还是没有用。 启示: 除了以上两种方法,网上能找到的方法我几乎都试过了一遍,然而并没有什么用。 虽然在尝试的过程中我也有思考,但是一直没法定位问题

idea java远程调试配置

血红的双手。 提交于 2019-12-10 16:52:38
线上运行的代码出问题怎么办,代码问题通常会采用打日志的方式来解决,也有一些jvm或者性能问题,可通过jstack,jmap,jconsole或者第三方工具如阿里开源的Arthas(阿尔萨斯)工具来诊断解决问题,有没有一种更便捷的方式呢,当然有了 就是jdwp JDWP 是 Java Debug Wire Protocol 的缩写,它定义了调试器(debugger)和目标虚拟机(target vm)之间的通信协议。Target vm 中运行着我们要调试的 Java 程序,它与一般运行的 JVM 没有什么区别,只是在启动时加载了 JDWP Agent 从而具备了调试功能。而 debugger 就是我们本地的调试器,它向运行中的 target vm 发送指令来获取 target vm 运行时的状态和控制远程 Java 程序的执行。Debugger 和 target vm 分别在各自的进程中运行,他们之间通过 JDWP 通信协议进行通信。 idea的配置 使用注意问题 1. 调试要确保当前在线系统无人使用 2. 调试结束要关闭debug模式 3. 线上代码要和本地代码版本一致 4. 这种方式只适用于代码调试 参考 https://www.jianshu.com/p/134bd5b913c5 来源: CSDN 作者: a942945571 链接: https://blog.csdn.net

flask中自定义日志类

我只是一个虾纸丫 提交于 2019-12-10 14:53:33
一:项目架构 二:自定义日志类 1. 建立log.conf的配置文件 log.conf [log] LOG_PATH = /log/ LOG_NAME = info.log 2. 定义日志类 LogClass.py import logging from logging import handlers class Mylogger(object): def __init__(self,log_path,log_name): # 1.指明日志记录到哪个文件 "F:/xxx/xx" + "info.log" logfile = log_path + log_name # 2.配置日志操作器 handler = handlers.RotatingFileHandler(logfile, maxBytes=1024 * 1024, backupCount=5, encoding='utf-8') # 3.设置日志格式 fmt = "%(levelname)s-%(asctime)s-%(module)s-%(lineno)d-%(message)s" # 4. 配置格式实例 formatter = logging.Formatter(fmt) # 5.操作器加载格式实例 handler.setFormatter(formatter) # 6.创建logger实例 self.logger =

将windbg与.dmp文件关联

夙愿已清 提交于 2019-12-05 22:17:14
如果您厌倦了启动调试器、加载转储文件、设置sympath、加载扩展名等,这里有一个很好的方法,可以在.dmp文件的上下文菜单上获取“调试此转储文件”,并自动加载所有您喜欢的命令。 首先创建一个包含以下内容的.reg文件(在修改注册表时一定要非常小心) Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.dmp] @="Debugger.Dump" [HKEY_CLASSES_ROOT\Debugger.Dump] [HKEY_CLASSES_ROOT\Debugger.Dump\DefaultIcon] @="c:\\debuggers\\cdb.exe" [HKEY_CLASSES_ROOT\Debugger.Dump\Shell] [HKEY_CLASSES_ROOT\Debugger.Dump\Shell\Debug_Without_Remote] @="Debug This Dump" [HKEY_CLASSES_ROOT\Debugger.Dump\Shell\Debug_Without_Remote\Command] @="\"C:\\debuggers\\windbg\" -z \"%1\" -c \"$<c:\\debuggers\\commands.txt\"" [HKEY_CLASSES_ROOT