1.windows 怎么生成dump
方案1: 崩溃地址 + MAP文件 利用程序崩溃时产生的map文件来定位。
这种方案只能对VC7以前的版本开发的程序使用 方案2: 崩溃地址 + MAP文件 + COD文件 这个方案主要是为了解决方案1的缺陷。由于VC8以后的版本都不再支持MAP文件中产生代码行信息,所以增加了COD文件的方法来定位问题。
方案3: 崩溃地址 + PDB文件 + CrashFinder 说明:前三种方案,其实只需要用户告知崩溃地址,然后在本地查找crash地址就可以了,但是定位crash的过程非常不方便,如果crash的情况比 较多,前三种方案都不合适。而且,前三种方案均不能生成堆栈调用信息,对于debug的作用有限。
方案4: + StackWalker 此方法需要pdb文件才能够正确生成堆栈调用的函数行号及代码行号,因此只适合本地release版的调试。 方案5: + Minidump 该方法是我们使用的捕获dump文件的工具,所以这里对其重点介绍一下。
详细代码: 希望能帮到你。
2.如何手动产生windows系统的完全内存dump
Windbg生成dump文件的方法: 程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。
步骤: 1) 打开WinDBG并将之Attach 到crash的程序进程 2) 输入产生dump 文件的命令 WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。 选项(1): /m 命令行示例:.dump /m C:\dumps\myapp.dmp 注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。
这种文件的信息量较少,只包含系统信息、加载的模块(DLL)信息、进程信息和线程信息。 选项(2): /ma 命令行示例:.dump /ma C:\dumps\myapp.dmp 注解: 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大,但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。
选项(3):/mFhutwd 命令行示例:.dump /mFhutwd C:\dumps\myapp.dmp 注解:带有数据段、非共享的读/写内存页和其他有用的信息的minidump。包含了通过minidump能够得到的最多的信息。
是一种折中方案 那怎么自动生成dump文件呢,比如对方的电脑没有windbg,这里用到一个window系统自带工具,Dr.Watson 运行方式很简单: 直接run-输入drwtsn32 -i就可以了,会提示这样的: 这个命令真难记,实话,记华生医生吧,福尔摩斯中的 如果有程序崩溃,会自动生成dump,这时再输入drwtsn32就会运行这个程序: 找到对应路径的DMP文件就行了,一般放在如下路径: C:\Documents and Settings\All Users\Application Data\Microsoft\Dr Watson 以下实例来自AWD 代码: Copyright (c) Advanced Windows Debugging (ISBN 0321374460) from Addison-Wesley Professional. All rights reserved. THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. --*/ #include "stdafx.h" #include
3.如何手动产生windows系统的完全内存dump
Windbg生成dump文件的方法:程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。
步骤:1) 打开WinDBG并将之Attach 到crash的程序进程2) 输入产生dump 文件的命令WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。选项(1): /m命令行示例:.dump /m C:\dumps\myapp.dmp注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。
这种文件的信息量较少,只包含系统信息、加载的模块(DLL)信息、进程信息和线程信息。选项(2): /ma命令行示例:.dump /ma C:\dumps\myapp.dmp注解: 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大,但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。
选项(3):/mFhutwd命令行示例:.dump /mFhutwd C:\dumps\myapp.dmp注解:带有数据段、非共享的读/写内存页和其他有用的信息的minidump。包含了通过minidump能够得到的最多的信息。
是一种折中方案那怎么自动生成dump文件呢,比如对方的电脑没有windbg,这里用到一个window系统自带工具,Dr.Watson运行方式很简单:直接run-输入drwtsn32 -i就可以了,会提示这样的:这个命令真难记,实话,记华生医生吧,福尔摩斯中的如果有程序崩溃,会自动生成dump,这时再输入drwtsn32就会运行这个程序:找到对应路径的DMP文件就行了,一般放在如下路径:C:\Documents and Settings\All Users\Application Data\Microsoft\Dr Watson以下实例来自AWD代码:Copyright (c) Advanced Windows Debugging (ISBN 0321374460) from Addison-Wesley Professional. All rights reserved. THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. --*/ #include "stdafx.h" #include #include #include VOID ( ) ; class CAppInfo { public: CAppInfo(LPWSTR wszAppName, LPWSTR wszVersion) { m_wszAppName=wszAppName; m_wszVersion=wszVersion; } VOID PrintAppInfo() { wprintf(L"\nFull application Name: %s\n", m_wszAppName); wprintf(L"Version: %s\n", m_wszVersion); } private: LPWSTR m_wszAppName ; LPWSTR m_wszVersion ; } ; CAppInfo* g_AppInfo ; int __cdecl wmain (int argc, WCHAR* args[]) { wint_t iChar = 0 ; g_AppInfo = new CAppInfo(L"Memory Corruption Sample", L"1.0" ); if(!g_AppInfo) { return 1; } wprintf(L"Press: \n"); wprintf(L" 1 To display application information\n"); wprintf(L" 2 To simulated memory corruption\n"); wprintf(L" 3 To exit\n\n\n>"); while((iChar=_getwche())!='3') { switch(iChar) { case '1': g_AppInfo->PrintAppInfo(); break; case '2': (); wprintf(L"\nMemory Corruption completed\n"); break; default: wprintf(L"\nInvalid option\n"); } wprintf(L"\n\n> "); } return 0; } VOID ( ) { char* pszWrite="Corrupt"; BYTE* p=(BYTE*) g_AppInfo; CopyMemory(p, pszWrite, strlen(pszWrite)); }。
4.win10怎么自动连接宽带账号密码
Win10设置开机自动宽带连接方法步骤:
首先需要在Win10系统中创建好“宽带连接”,具体步骤如下。
1、进入网络和共享中心设置中,然后点击“设置新的连接或网络”;
2、接下来选中“连接到Internet”,然后再点击底部的“下一步”。
3、点击宽带PPPoE(R)选项,这里也就是设置使用用户名和密码的DSL或电缆连接。
4、然后这一步的设置很重要,ISP信息中的名称和密码,就是网络运营商提供给您的宽带账号和密码,这个账号密码一定要填写正确(不知道的朋友,请联系网络商客服咨询),否则无法连接网络,填写完成后,点击底部的“连接”。
这里还需要特别注意的一个地方:连接名称一定要填写为ADSL,后面设置Win10开机自动宽带连接需要用到。
Win10宽带连接创建好了之后,接下来就可以进行Win10宽带自动连接设置了,具体步骤如下。
二、Win10开机自动宽带连接设置步骤
1、首先在Win10桌面的“此电脑”上点击鼠标右键,在弹出的右键菜单中,点击“管理”
2、打开计算机管理界面后,点击左侧菜单中的【任务计划程序】选中该项,然后再点击鼠标右键,在弹出的选项中,选择【创建基本任务】
3、在弹出的创建基本任务向导中,输入任务名称:Win10宽带自动连接,下面的描述可以任写,也可不写。为了便于记忆,笔者写上了“电脑百事网开机自动宽带连接设置”,填写完成之后,点击底部的“下一步”
4、接下来是任务触发器设置,也就是选择什么时候启动这个任务。如果Win10取消了开机密码,可以选择“计算机启动时”;如果是Win10电脑有开机密码,也可以选择“当用户登录时”,完成后,继续点击“下一步”,
下一步后,是“操作”设置选项,默认选择的是“启动”,因此直接点击下方的“下一步”。
5、下面的这步是“启动程序”设置,也是最为重要的一部,在下面的“程序和脚本”下面输入键入任务脚本,不知道如何输入的朋友,也可以点击后面的浏览,然后找到放在桌面的“宽带连接快捷方式”。
请将ADSL换成宽带连接名称,前面创建的时候,就将宽带连接名称为ADSL,20158881@163.gd换成您的宽带账号,plete memory dump并选中System Failure下的所有选项。请记住memory.dmp文件存放的位置,默认情况下此文件存放在%systemroot%下。请确认memory.dmp文件的存放路径下有足够的空间,即剩余空间大于等于物理内存的大小。如果默认目录下没有足够的空间,请把路径指定到有足够空间的分区的根目录下。
2. 进到Control Panel -->System -->Advanced -->Performance Options -->Change。请确定pagefile是放在%systemroot%分区的。pagefile的大小需设置成比物理内存大,如,机器内存为1G,可以把pagefile文件的大小设成1100M。如果系统提示要重新启动服务器,请暂时不要重启。
3. 添加注册表键值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
Value Name: CrashOnCtrlScroll
Data Type: REG_DWORD
Value: 1
4. 重启计算机使设置生效。
5. 在问题再次发生时按住键盘右边的Ctrl键不放,再按两次ScrollLock键。如果设置正确,机器会立刻进入蓝屏,并开始将内存快照写入页面文件。您可以看到其完成进度。待其完成后,机器将会自动重启,并在重启后产生一个内存转储文件在 c:\windows\memory.dmp。
6. 对于某些笔记本没有右Ctrl键,可以通过导入附件的注册表文件来实现由左Ctrl操作产生Dump文件。
7.WinDBG 技巧:如何生成Dump 文件(.dump 命令)
步骤:
1) 打开WinDBG并将之Attach 到crash的程序进程
2) 输入产生dump 文件的命令
WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。
选项(1): /m
命令行示例:.dump /m C:\dumps\myapp.dmp
注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。 这种文件的信息量较少,只包含系统信息、加载的模块(DLL)信息、进程信息和线程信息。
选项(2): /ma
命令行示例:.dump /ma C:\dumps\myapp.dmp
注解: 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大,但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。
选项(3):/mFhutwd
命令行示例:.dump /mFhutwd C:\dumps\myapp.dmp
注解:带有数据段、非共享的读/写内存页和其他有用的信息的minidump。包含了通过minidump能够得到的最多的信息。是一种折中方案。
转载请注明出处windows之家 » win10怎么生成完整的dump