首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何调试Windows的stackdump文件

29 Dec 2016 如何调试Windows的stackdump文件 在Windows上,通过Cygwin编译的c程序在运行时,若有内存错误也会产生类似...Linux上的core文件,但是该文件一般是以stackdump为后缀的文本文件,且文件提供的信息有限,只包含了程序coredump时函数调用的栈信息,不能像Linux一样使用gdb调试。...所以,在Windows平台调试Cygwin编译的c程序不太方便。本文介绍一种方法,通过反汇编c程序,结合程序coredump时生成的stackdump文件,可以快速定位出程序的coredump位置。...使用Cygwin的gcc编译该程序: gcc core_dump_demo.c -g -o core_dump_demo 这里需要使用-g选项,编译时添加调试信息,编译成功会生成一个可执行文件core_dump_demo.exe...通过分析该文件,可以看见文件中的函数地址主要有2个段,分别是: 00180xxxxxx 00100xxxxxx 从反汇编文件中可以看到,00100xxxxxx地址段是示例程序中函数地址,而00180xxxxxx

1.5K80

【Node.js如何调试你的 Node.js 代码?

很多时候,我苦恼于 Node.js调试,只会使用 console.log 这种带有侵入性的方法,但是其实 Node.js 也可以做到跟浏览器调试一样的方便。...如何进入 Chrome 的调试界面 第一种方式(自己尝试无效) 打开 http://localhost:8888/json/list,其中 8888 是上面 --inspect 的参数。...Vscode 调试 除了浏览器之外,各大主流的 IDE 都支持 Node.js调试,本文以 Vscode 为例。...Launch Configuration 打开调试页面,给我们 Node 项目添加一个 launch 配置: 选择 Node.js 这样就会在项目根目录生成对应的文件 .vscode/launch.json...总结 本文总结了两种常见的调试 Node.js 的方式。第一种 Node.js 通过 websocket 的方式将信息传递给 Chrome 浏览器,我们直接在 Chrome 中进行调试

8.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

爬虫|如何在Pycharm中调试JS代码

环境配置 Pycharm 专业版 Node.js 在爬虫遇到 JS 加密的时候,通用做法是对 JS 代码进行调试分析加密流程及方法 最终调试完需要将相关代码拿到本地,因为最终是在本地环境执行。...这时候可能又会遇到各种参数未定义等报错 所以还需要在本地对 JS 进行调试,查漏补缺。那么我们是不是需要安装 Node.js,同时需要安装编辑器 WebStorm,大部分的做法都是这样。...安装完之后重启,在 Plugins 插件界面会显示刚才安装的插件 验证 下面我们新建一个简单的 JS 文件来验证一下是否可正常运行 在运行下拉按钮 ,点击 Edit Configuratuions, 然后选择...可以看到有 Node.js 选项,选择 Node.js,同时在 Node interpreter 选择 NodeJS 的安装路径,记得先加入环境变量 OK,完成上述步骤后,就能在 Pycharm 中完美运行...JS 代码了 ?

2.8K20

调试JS代码

记录下近期对JS代码的调试过程 性能分析 启动程序之后,打开google浏览器对应页面,按F12或者Ctrl+Shift+I进入 开发者工具页面 目前主要使用的功能有: Performance....性能报告页面的 部分,可以通过点击色块查看其所在的js代码文件,如 点击则会跳转到 功能栏,有了源文件就可以进行断点调试;这里注意部分js文件是压缩后的文件,建议手动修改程序替换成可读性更强的原始代码文件...,方便调试 Console....查看程序的打印输出,比如我想知道某个函数的执行时间,可以在js代码中进行修改 当js代码执行之后,可以在console输出中看到foo的执行时间 Network....查看文件传输的时间,判断下瓶颈是否在网络带宽,以及是否数据量太大导致数据的转换和传输耗时较久 性能调优 通过性能分析,发现耗时最长的模块的操作是对数据的颜色计算,场景是我有1M个点需要显示,那么需要将它们从一个

19K10

Fiddler远程调试js

使用Fiddler调试本地js   在我们前端开发的日常工作中,发现服务器上某个css/javascript文件有问题,需要修改,那真是家常便饭。...假设我们发现这个页面有问题,需要修改所引用的js文件()。 第一步:用Fiddler查看页面的数据流列表,找到这个js文件的session ?  ...在这个js session上右键点击,选择“Save – Response –Response Body…”,将js文件的内容保存到本地。记住存的位置,下面我们会用到这个保存下来的文件。...处理方式可以选择使用文件,也可以选择合适的时间暂停数据流(*bpu、*bpafter),人工干预。通过以上几个步骤,我们演示了怎样将HTTP请求重定向到本地的文件,进行web调试。...这种调试方式不需要发布到线上再验证,避免了修改不成功、对用户造成影响的风险,而且不需要搭建复杂的开发服务器等开发环境,非常适合快速web调试

9.9K30

如何调试线上 JS 报错像调试本地源码一样优雅?

断点调试么? 但是这时候代码是被压缩过的,变量名都是 a、b、c、d 这种,根本看不出啥来。 如果调试线上报错能像本地开发的时候一样就好了。...其实这是可以做到的,今天就分享下如何优雅的调试线上报错: 首先,我们准备一段 JS 代码: 这是我随便找的一段 JS 代码,里面抛了一个错误。...首先,我们可以使用异常断点,在抛异常的地方断住: 创建一个 vscode 调试配置: 勾选 uncaught exceptions,在未被捕获的异常处断住: 然后启动调试: 你会发现代码在抛异常的地方断住了...关联 sourcemap 需要在文件末尾加上 //# sourceMappingURL=xxx.js.map 的代码。 但现在这个文件是线上的,不能直接改本地文件。...charles 就可以抓到对应的请求了: 接下来就是断点修改响应的内容了: 点击 Proxy > Breakpoint Settings 添加一个对 guangtest.com 的 dist/index.js

1.5K30

dotnet 如何调试某个文件是哪个代码创建

我发现了自己的软件,会在桌面创建一个 1.txt 文件,但是我不知道是哪个代码创建的,那么如何进行快速的调试找到是哪个代码创建的 最简单的方法是使用 VisualStudio 全局搜 1.txt 看是否存在...var file = $"{i}.txt"; } 这样就无法通过搜 1.txt 找到这个代码 之外可能这个文件的写入是在库里面做的,如引用了 林德熙是逗比.dll 在这个库里面写入了文件...可以通过这样的方法,先删除这个文件,然后创建一个文件夹,将这个文件夹命名为和这个文件相同的名。...如删除 1.txt 文件,然后创建 1.txt 文件夹,然后获取全局异常,现在就可以发现有文件读写异常的代码应该就是写入 1.txt 文件的代码 除了创建文件夹之外,还可以写一个 FileStream...占用这个 1.txt 文件,找到一个文件由另一个进程占用的异常就可以找到代码在哪 不过本文提供的这些方法都做不到解决在 C++ 等库里面写文件的问题 特别感谢walterlv这位写出了 a[b[c[e[

67130

dotnet 如何调试某个文件是哪个代码创建

我发现了自己的软件,会在桌面创建一个 1.txt 文件,但是我不知道是哪个代码创建的,那么如何进行快速的调试找到是哪个代码创建的 最简单的方法是使用 VisualStudio 全局搜 1.txt 看是否存在...var file = $"{i}.txt"; } 这样就无法通过搜 1.txt 找到这个代码 之外可能这个文件的写入是在库里面做的,如引用了 林德熙是逗比.dll 在这个库里面写入了文件...可以通过这样的方法,先删除这个文件,然后创建一个文件夹,将这个文件夹命名为和这个文件相同的名。...如删除 1.txt 文件,然后创建 1.txt 文件夹,然后获取全局异常,现在就可以发现有文件读写异常的代码应该就是写入 1.txt 文件的代码 除了创建文件夹之外,还可以写一个 FileStream...占用这个 1.txt 文件,找到一个文件由另一个进程占用的异常就可以找到代码在哪 不过本文提供的这些方法都做不到解决在 C++ 等库里面写文件的问题 特别感谢walterlv这位写出了 a[b[c[e[

64110

如何对超大JS文件混淆加密?

有些时候,我们会有一些很大的JS文件代码需要混淆加密,例如: 这个3.4MB的JS文件,通常来说是不容易一次性完成混淆加密的。因为代码量太大。...因此,对这样量极的JS代码进行混淆加密,在线的JS加密工具,是不允许的,不接受这样大的文件,或需要高权限。 如果我们要处理这样大的文件,需要些技巧。...如果打包或编译前的源码也是JS,那么,可以对未打包前的原始JS代码文件混淆加密,会比较轻松,先混淆加密,然后再打包编译。...方法二、 如果原始代码是非JS语言,比如,可能是TS,那就无法对原始代码混淆了。只能处理这个大的JS文件。 处理方式,也不太复杂。以上面给出的文件为例。...如何分块呢,比如,先复制一部分代码,可以是一个或多个函数,等。(注:取完整的函数或代码块,保证复制的这部分代码是整体、不会破坏函数体完整性)。

41410

使用Firefox轻松调试JS

Firefox调试JS的功能真的很不错,推荐一下! 在页面上点击右键,再点击“查看元素”,如图: ? 就会弹出Firefox的开发者界面,点击“调试器”,如图: ?...一步步调试代码 你可以一步步的执行代码。这对代码调试非常有用。 ? 使用断点调试 断点调试可以终止代码的执行,你可以通过指定代码范围来查看错误是不是在指定代码范围内。这对于 错误调试很有用。...Firefox的JS调试功能非常强大,感觉试一下吧! 点击调试器tab页,刷新要调试的页面,调试器主窗口会出现要调试的代码 ?...点击暂停按钮,点击后按钮状态改变,同时右边的三个调试步骤变为可操作状态,调试步骤的作用可参考IE浏览器javascript调试篇的讲解。同时,在代码行上面打断点。...说到这里,Firefox浏览器的javascript调试基本就讲完了。

5.8K20

调试 node.js 程序

调试 node.js 程序 在程序开发中,如何快速的查找定位问题是一项非常重要的基本功。在实际开发过程中,或多或少都会遇到程序出现问题导致无法正常运行的情况,因此,调试代码就变成了一项无法避免的工作。...这里简单介绍下如何调试 node.js 程序。 使用 console.log Node 提供了全局的 console 对象,该对象可以输出格式化的字符串。...Node 调试程序: node --inspect index.js 这样就会以调试模式启动 Node,可以看到调试器的提示信息如下: Debugger listening on ws://127.0.0.1...可以通过命令在程序第一行设置断点: node --inspect-brk index.js 调试器提示信息如下: Debugger listening on ws://127.0.0.1:9229/def735ed...接着,打开 Chrome 浏览器,在地址栏输入: chrome://inspect/#devices 在界面 Remote Target 标签内容中找到要调试的目标(Target)文件,点击目标中的 inspect

2.9K20

加密JS代码反调试

JavaScript奇技淫巧:加密JS代码反调试 JS代码混淆加密,已被很多人使用,因为它真的很有用、很实用,可以用于保护代码、防护分析、复制、盗用,还可以用于小游戏过审、APP加固等方面。...混淆加密后的JS代码,可能被他人分析,为了对抗分析调试,本文分享一种反调试技术。 功能效果 使函数名不可修改,修改则代码无法运行 技术原理 将JS代码用可逆算法进行加密。...在分析调试时,分析者经常会将无意义的函数名改成有含义的名字,使便于理解。 本文我们要做的,就是禁止改名,如果修改函数名,函数就无法执行。...map(function(c,i,a){ return String.fromCharCode(c^random_key(key,i)); }).join(""); } var js_code...Date().getFullYear() + "," + _0xbc99c; console.log(_0x7d68de); ` function _0xag(){ var decode_js_code

5.5K50
领券