首页
学习
活动
专区
圈层
工具
发布

WinDbg 设置在加载到某个 DLL 进入断点

本文记录如何在 WinDbg 里,设置在加载到某个 DLL 时,自动进入断点。通过此方式用来定位是哪个业务模块加载了某个 DLL 模块 在 WinDbg 里面,可以附加到现有进程,也可以启动某个进程。...本文这里需要的是调试应用启动过程,是在哪个过程加载了某个指定的 DLL 库,于是就使用 Ctrl+E 快捷键,在 WinDbg 里面选择我需要调试的应用的 exe 文件进行启动 在 WinDbg 启动的进程默认将会进入暂停...,方便输入命令 在 WinDbg 里设置在加载到某个 DLL 进入断点,可以使用如下命令 sxe ld:xxx.dll 将 xxx.dll 替换为需要关注的 DLL 名即可。...如果有多个 DLL 都需要关注,那就输入多次,每次使用不同的 DLL 名 输入完成之后,输入 g 让 WinDbg 继续执行进程 等待进程加载到 xxx.dll 时,将会自动进入断点。...启动完成之后,输入 sxe ld:PresentationCore.dll 设置断点,接着按下 g 继续执行,可以看到 WinDbg 输出大概如下 ************* Path validation

2.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    dotnet 使用 windbg 运行脚本方式自动批量调试处理 dump 文件

    本文将和大家介绍一个简单且实际用途不大的使用 windbg 配合脚本的方式,进行自动化的大批量对 dotnet 系应用的 dump 进行自动化分析调试处理,可以自动根据调试需求输出 dump 文件的一些信息...利用 windbg 执行调试脚本的能力,可以实现自动化调试 dump 文件,将调试 dump 文件获取的信息进行输出,方便进行统一处理 在开始之前先说一下我的需求点是什么。...本文介绍的自动化分析方法比较适合用在有大量的 dump 文件,人工调试不过来的情况,如果本身团队规模比较小,那就只能用于满足领导们的汇报需求了,比如用于吹质量设计 在 windbg 工具中,可以使用 -...在 windbg 里面,通过 $脚本文件而不是执行命令 接下来我将告诉大家如何编写这个脚本文件 脚本文件的格式非常简单,就是一行一句命令 根据分析 dotnet 应用的知识,对于...额外的,在现实使用中,可能还会带上 -y 参数,用于指定符号文件夹,减少加载符号时,拉取符号的耗时,参数是 -y [符号文件夹] 的格式

    80310

    Shell-alias在Shell脚本中的使用

    概述 在shell中开启alias 实际操作 概述 众所周知,shell脚本使用的是非交互式方式,在非交互式模式下alias扩展功能默认是关闭的,此时虽然可以定义alias别名,但是shell不会将alias...---- 在shell中开启alias 使用shell内置命令shopt命令来开启alias扩展选项。...默认是打开的,在非交互式模式下是关闭的,但可以用可shopt来将其开启 shopt -s expand_aliases ---- 实际操作 在我们的项目中某个模块的双机启动脚本(root用户下操作),...其中应用的启停使用了alias建立的同义词来操作,如果想要在脚本中使用,必须开启同义词才。...项目启动中会依赖一些环境变量,所以双机启动脚本中需要显式的引入.bash_profile文件。 所以我们将 开启alias的命令放在 .bash_profile中。

    4K10

    win10中“windbg+vmware+win7双机调试”设置

    本文主要介绍在win10下如何设置windbg+vmware,以进行双机调试。...3,选择“添加”,然后选择“串行端口”,然后选择“使用命名管道”,并按如下设置 ? 注: 1)使用命名管道,名字默认即可。 2)另一端选应用程序,即链接windbg。 3)IO模式,可选可不选。...三、Windbg的设置 1,在桌面上添加一个windbg的快捷方式; 2,右键该快捷方式,打开“属性”对话框,在目标一栏的末尾添加“ -b -k com:pipe,port=\\....偶然尝试了下,如下设置,解决了这个问题: 3,在“快捷方式”tab中,选择“高级”,勾选“用管理员身份运行”。 ?...8,选择好启动项后,立即回到主机,启动windbg。只有在GuestOS启动过程中,才能连接上。 cmd 敲入 g 继续执行,或使用菜单继续会自动敲入 g

    3.2K51

    expect脚本中设置超时,比如下面的脚本

    /usr/bin/expect                                                                              #表示使用expect...解释器 set timeout 10                                                                                  #设置超时限制为...我看到一种解释是:代码刚开始设定了timeout的时间为10秒,如果在执行scp任务时遇到了代码中没有指定的异常,则在等待10秒后该脚本的执行会自动终止。这样理解对吗?...干嘛要这个超时限制啊,感觉很影响程序的效率,在执行过程中遇见问题就返回问题信息,退出不就好了么,就算多给10秒,还不是没法解决。...就好比Java中的异常处理机制,遇见异常就,throw  catch处理嘛,然后程序继续执行,这样多好, 如果某一个方法非常耗时,那么就等它执行完呗,就算有一天,出现无限循环这种永远的执行不完的方法

    3.2K30

    在 NPM 中设置代理

    要在 NPM 中设置代理,您需要使用 `npm config set proxy` 命令。以下是一个详细的教程:1. 首先,确保您已经安装了 Node.js。...在命令提示符或终端中,输入以下命令以设置代理:```npm config set proxy http://ip.duoip.cn:8080```这个命令将设置 NPM 的代理地址。1....设置代理后,请确保您的网络设置允许访问该代理。在 Windows 系统中,您可以通过以下步骤检查和配置网络设置:a. 右键单击 "网络" 图标在任务栏上,然后选择 "网络和共享中心"。b....在 "网络和共享中心" 窗口中,单击 "更改连接属性"。c. 在 "网络连接属性" 窗口中,选择 "使用代理服务器",然后单击 "设置"。d....设置代理后,请确保您的 NPM 设置已正确保存。在命令提示符或终端中,输入以下命令:```npm config list```这将显示您的 NPM 配置设置。

    5.3K40

    在 Deno 中设置 CronJob

    比如小明每天晚上都会问候她异地的女朋友并送温暖,比如“铝盆友彩虹屁 bot”遇上 Deno定时发送邮件就依赖于 Serverless平台提供的周期触发函数功能,再比如在一些服务编排脚本中时常能看到诸如schedule...安装 Deno 前面的文章中基本都没有提及 Deno 的安装,在国内,我们使用 "vscode-deno 之父“JJC大佬为我们提供的镜像服务进行安装,地址为https://x.deno.js.cn/,...我们可以使用 cron 在Deno中定义自定义时间表,如: cron('* * * * * *', () => { // run some task }); # 其中 * * *...取值范围为0-59 第二个星号使用分钟数,并且取值范围为0-59 第三个星号使用小时数,其值介于0-23之间 第四个星号为月份中的一天,其值在1-31之间 第五个星号为一年中的月份,其值在1-12之间...stop() } }); deno cron 小结 在 deno 中使用 cron,您学废了吗?

    4.5K30

    在windows程序中嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎

    就是本系列文章中讨论的:在程序中嵌入Lua脚本引擎。(转载请指明出于breaksoftware的csdn博客)         首先简要介绍下Lua。它是巴西里约热内卢某高校发明的一种轻量级脚本语言。...编译         在http://luajit.org/install.html#windows里有详细的说明,我们只要在使用VS的Command Prompt中定位到src目录,然后执行msvcbuild.bat...于是我们要在Buildvm工程的Pre-Build Event中设置(将元目录的*.dasc文件拷贝到Buildvm工程目录下,因为只有这个工程需要使用到它) $(OutDir)\MiniLua.exe...在工程设置中设置C\C++->General->Additional Include Directories为"$(SolutionDir)Lj";"$(SolutionDir)Header"。        ...Buildvm也是辅助程序,在它生成后,要使用它再生成一些文件。

    3.6K20

    在 Python 脚本中处理错误

    在 Python 脚本中处理错误是确保程序稳健性的重要部分。通过处理错误,你可以防止程序因意外情况崩溃,并为用户提供有意义的错误消息。...以下是我在 Python 中处理错误的常见方法和一些最佳实践:1、问题背景当运行 pyblog.py 时,遇到了以下错误:Traceback (most recent call last): File...except BlogError:NameError: name 'BlogError' is not defined问题是,虽然 pyblog.py 定义了 BlogError 异常,但没有将它导入当前脚本的命名空间中...2、解决方案有以下几种解决方案:方法 1使用以下代码将 BlogError 异常导入当前脚本的命名空间:from pyblog import BlogError然后,就可以使用以下代码来处理错误:for...通过合理使用异常处理技术,你可以编写更健壮的 Python 程序,从而提高用户体验,并使调试和维护变得更加容易。记住在处理异常时,最好为用户提供有意义的错误消息,并在必要时记录异常信息以供后续分析。

    2.5K10

    在webassembly中使用浏览器断点调试cc++

    dev-tools,你可以在wasm代码中断点,但是仅仅能看到如下的栈式调用,右侧的scope也无法看到真实的变量名。...好消息是,近期在最新chrome canary已支持在浏览器进行高级的调试c/c++代码了,不但可以断点调试,而且可以实时看到变量名称和变量值。...下面我们进行一下实践: 1、显然的,我们需要在编译参数中增加-g参数,还有-fdebug-compilation-dir参数 emcc -g index.c -fdebug-compilation-dir...-o output.html 其中fdebug-compilation-dir参数指向c代码源码路径 2、更新chrome canary到最新版 3、打开chrome设置 ? 4、打开设置  ?...左侧是我们的源码,鼠标移到a变量上,可以看到a变量的值,在右侧的scope面板可以看到局部变量。 试试指针的显示: ? 结构体: ? 甚至可以在控制台输出。不过控制台暂无法进行表达式运算。

    5.3K40

    【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ③ ( 在 Gradle 构建脚本中实现 AndroidManifest.xml 清单文件切换设置 )

    二、在 Gradle 构建脚本中实现 AndroidManifest.xml 清单文件切换设置 在上一篇博客 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ① ( 组件化简介...| 创建组件化应用 | 依赖库模块 / 应用模块 切换设置 ) 最后提到了 在 Gradle 构建脚本中 , 需要实现 依赖库模块 / 应用模块 切换设置 , 主要涉及如下两个方面 : build.gradle...构建脚本 切换设置 , 切换 应用 / 依赖库 ; AndroidManifest.xml 清单文件 切换设置 , 设置 启动 Activity 项 ; 在 【Android Gradle 插件】组件化中的...一、AndroidManifest.xml 清单文件切换设置 ---- 在应用中 , 每个应用 只能有一个 启动 Activity , 如果有多个肯定会报错 ; 在组件化中 : 模块化模式 : 正常的模式...Gradle 构建脚本中实现 AndroidManifest.xml 清单文件切换设置 ---- 在 模块下 的 build.gradle 构建脚本 中的 " android#sourceSets#main

    3.7K50
    领券