上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页

2020年3月10日

Visual Studio调试DLL项目

摘要: 若要从 DLL 项目而不是从调用应用程序启动调试,必须在“<项目> 属性页”对话框或窗口中输入信息以指示 DLL 项目在何处才能找到调用应用程序。 C++“属性页”在布局和内容方面与 C# 和 Visual Basic“属性页”不同。请参考与项目语言相对应的过程。如果托管 DLL 由本机代码调用,并 阅读全文

posted @ 2020-03-10 09:40 活着的虫子 阅读(2812) 评论(0) 推荐(0) 编辑

破解PDB符号文件

摘要: 微软以不断发明新的专有文件格式而闻名,而.pdb文件的程序数据库格式就是其中之一。许多软件开发人员都在拼命寻找关于PDB内部的更多信息。好消息:搜索结束了!本文将PDB格式记录到最后一位,并提供一个Win32实用程序,该实用程序将复合PDB文件拆分为单独的文件。软件开发和调试工具的编写人员经常面临着 阅读全文

posted @ 2020-03-10 08:46 活着的虫子 阅读(1706) 评论(0) 推荐(0) 编辑

2020年3月9日

Visual Studio调试器项目设置

摘要: 某些项目设置也对调试产生影响。 这些设置确定诸如调试器查看的目录、用于启动程序的命令和命令参数以及为程序创建的调试信息的类型等内容。 可以在**“属性页”**对话框中更改这些设置。 本文介绍可用选项,并介绍如何进行设置。 如何:指定调试器设置 在 Visual Studio 中可为调试器行为指定各种 阅读全文

posted @ 2020-03-09 13:48 活着的虫子 阅读(8692) 评论(0) 推荐(1) 编辑

Debug.Assert Everyone!

摘要: 每个开发人员都知道单元测试提高了代码的质量。我们还从静态代码分析中获益,并在我们的构建管道中使用SonarQube等工具。然而,我仍然发现许多开发人员并不知道检查代码有效性的一种更古老的方法:断言。在这篇文章中,我将向您介绍使用断言的好处,以及.NET应用程序的一些配置技巧。我们还将学习.NET和W 阅读全文

posted @ 2020-03-09 13:40 活着的虫子 阅读(1113) 评论(0) 推荐(0) 编辑

WinDbg中的.natvis文件和类型模板

摘要: 在处理二进制数据时,我们经常使用dt命令将字节分组到有意义的字段中,例如。 0:000> dt ntdll!_PEB @$peb +0x000 InheritedAddressSpace : 0 '' +0x001 ReadImageFileExecOptions : 0 '' +0x002 Bei 阅读全文

posted @ 2020-03-09 10:30 活着的虫子 阅读(825) 评论(0) 推荐(0) 编辑

已安装的.NET CLR版本之间的w3wp.exe崩溃WinDbg后期调试

摘要: 本文概述了从生成进程的内存转储、在一台计算机上运行某个版本的CLR到将转储加载到在另一台计算机上运行的WinDbg所涉及的步骤。在WinDbg中,我们希望加载SOS调试器扩展来查询转储。具体来说,即使WinDbg机器没有安装运行转储进程的机器所安装的CLR版本,SOS也应该加载。 步骤1:生成进程转 阅读全文

posted @ 2020-03-09 09:46 活着的虫子 阅读(815) 评论(0) 推荐(0) 编辑

2020年3月7日

用于DLL注入的WinDbg扩展---!injectdll

摘要: 今天我很高兴向您介绍我的第一个WinDbg扩展lld,目前它只包含一个命令:!inject DLL,它允许您将DLL注入正在调试的进程。sdbgext扩展中有一个类似的命令,但它只适用于32位进程。用法非常简单——只要记住以正确的位加载扩展(32位进程的32位版本)。示例会话可能如下所示: 0:00 阅读全文

posted @ 2020-03-07 09:56 活着的虫子 阅读(640) 评论(0) 推荐(0) 编辑

Wireshark中PIDs与网络包的关联

摘要: 默认情况下,在Wireshark中记录跟踪时,在其中找不到进程id。有时这些信息对于调查你所面临的问题是必要的。我这周碰到了这样的一个问题。我需要在虚拟机(本地地址10.0.2.5)上找到一个进程,该虚拟机仍在使用TLSv1连接到我们的负载平衡器。起初,我只在Wireshark中记录了跟踪并对其进行 阅读全文

posted @ 2020-03-07 09:43 活着的虫子 阅读(1299) 评论(0) 推荐(0) 编辑

又又一款抓dmp工具---ProcDump

摘要: 简介 ProcDump是一个命令行实用程序,其主要目的是监视应用程序的CPU峰值,并在峰值期间生成崩溃转储,管理员或开发人员可以使用该转储来确定峰值的原因。ProcDump还包括挂起窗口监视(使用与Windows和任务管理器使用的相同的窗口挂起定义)、未处理的异常监视,并且可以基于系统性能计数器的值 阅读全文

posted @ 2020-03-07 09:17 活着的虫子 阅读(3704) 评论(0) 推荐(0) 编辑

基于.NET框架版本在Windbg中加载sos的脚本

摘要: 我经常在windbg中调试.netframeworkv2.0/v 4.0代码。在v 2.0中,主clr dll称为“mscorwks.dll”,在v 4.0中称为“clr.dll”。很多人都知道,要在v 2.0中加载sos,我们必须输入“.loadby sos mscorwks”,在v 4.0中输入 阅读全文

posted @ 2020-03-07 08:35 活着的虫子 阅读(273) 评论(0) 推荐(0) 编辑

2020年3月6日

未记录的WinDBG扩展命令---itoldyouso

摘要: DBGHELP.DLL中有一些文档化的WinDBG扩展命令,例如!sym and !dh,分别设置符号加载诊断和转储模块PE头。看到itoldyouso是小写的,我不禁怀疑它是否是一个未经文档化的WinDBG扩展命令。启动WinDBG并输入!itoldyouso,产生了以下结果: 0:000> !i 阅读全文

posted @ 2020-03-06 14:54 活着的虫子 阅读(337) 评论(0) 推荐(0) 编辑

合并符号服务器

摘要: 保护总是好的,公司有两台符号服务器。其中一个已不再使用,但为以前发布的项目保留了符号。因为PDB文件和源代码一样重要,所以想知道是否有办法将符号服务器合并在一起。 由于符号服务器是用作数据库的文件系统,存储方案为\ServerShareFile.PDBGUIDFile.PDB,因此可以将资源管理器中 阅读全文

posted @ 2020-03-06 14:50 活着的虫子 阅读(247) 评论(0) 推荐(0) 编辑

CLR 运行时版本和错误0x80131700和0x80113101B

摘要: COM可见的.Net对象由标准COM调用实例化,例如CoCreateInstance。COM在注册表或激活上下文中找到CLSID,加载并调用mscoree.dll,该dll继续激活CLR和创建对象的过程。在此过程中,可能会出现错误0x80131700“未能加载运行时”或0x8013101b“此程序集 阅读全文

posted @ 2020-03-06 13:56 活着的虫子 阅读(1103) 评论(0) 推荐(0) 编辑

关于 CLR 内核异常----COR_E_NEWER_RUNTIME(0x8013101B)

摘要: 简介 COR_E_NEWER_RUNTIME,值为0x8013101B,代表的意思是"程序集是由比当前加载的运行时新的运行时生成的,因此无法加载。".它定义在cli-2.0-master\clr\src\inc\corerror.h文件里,如下: #define COR_E_NEWER_RUNTIM 阅读全文

posted @ 2020-03-06 13:41 活着的虫子 阅读(300) 评论(0) 推荐(0) 编辑

2020年3月5日

如何查看当前加载的SOS.dll版本?

摘要: 要查看SOS.dll版本,必然是Windbg已经加载了该文件。在这个前提下输入下面的命令: !eeversion 例如: 0:000> !eeversion4.0.30319.36543 retailWorkstation modeSOS Version: 4.0.30319.36543 retai 阅读全文

posted @ 2020-03-05 17:27 活着的虫子 阅读(412) 评论(0) 推荐(0) 编辑

WinDbg中的“中断指令异常”是什么?

摘要: 当你在分析一些dmp文件时,可能会发现下面的异常信息: 0:000> .exr -1 ExceptionAddress: 00000000 ExceptionCode: 80000003 (Break instruction exception) ExceptionFlags: 00000000 N 阅读全文

posted @ 2020-03-05 14:26 活着的虫子 阅读(2324) 评论(0) 推荐(1) 编辑

异常STATUS_INVALID_PARAMETER(0xC000000D)

摘要: 简介 STATUS_INVALID_PARAMETER,值为0xC000000D。代表的意思是把一个无效的参数传递给了服务或函数(这里的服务是指Windows系统自身的服务,函数是指Windows系统内核函数)。它定义在 ntstatus.h头文件里,如下: //// MessageId: STAT 阅读全文

posted @ 2020-03-05 11:29 活着的虫子 阅读(2822) 评论(0) 推荐(0) 编辑

2020年3月4日

记一次CLR exception(e0434352)---System.IO.FileNotFoundException的排查

该文被密码保护。 阅读全文

posted @ 2020-03-04 14:58 活着的虫子 阅读(0) 评论(0) 推荐(0) 编辑

从WER已经抓取的进程中获取良好的小型转储

摘要: 如果您有一个WER处理过的崩溃进程,但您知道JIT调试器设置错误,或者根本没有设置(因此崩溃对话框上没有“调试”按钮),则可以保持对话框打开,并将您选择的任何调试器附加到挂起的崩溃进程。不过,有个问题。通过将调试器附加到挂起的进程,进程的最后异常信息已丢失;这是因为调试器成功附加到挂起(或挂起)进程 阅读全文

posted @ 2020-03-04 09:35 活着的虫子 阅读(265) 评论(0) 推荐(0) 编辑

关于System.IO.FileNotFoundException异常

摘要: 什么是FileNotFoundException? 尝试访问磁盘上不存在的文件失败时引发的异常。如果你的代码没有 PathDiscovery 的权限,则此异常的错误消息可能只包含文件或目录名称,而不是完全限定的路径。 继承 Object Exception IOException FileNotFo 阅读全文

posted @ 2020-03-04 09:29 活着的虫子 阅读(3782) 评论(0) 推荐(0) 编辑

2020年3月3日

导致System.ExecutionEngineeException异常可能的原因

摘要: 我一直想知道更多关于这个问题的信息,但运气不太好。我一直在读,应用程序不应该出现这个错误,它不告诉我什么可以导致这个错误出现。我知道这个问题非常宽泛,因为我确信这个错误可能有多种原因,所以我会尽量缩小范围。我在VS2015中开发了一个使用C++ .NET的应用程序。应用程序主要使用非托管代码,很少使 阅读全文

posted @ 2020-03-03 14:31 活着的虫子 阅读(1312) 评论(0) 推荐(0) 编辑

如何知道80000003断点后是否隐藏了其他异常(WER对话框)

摘要: 我的应用程序,一个可执行文件,正在远程计算机上崩溃。我没有访问那台机器的权限,所以我请求了一个转储,通过任务管理器生成。使用WEBBG,在执行命令!analyze -v时,我可以看到许多其他的文本 EXCEPTION_RECORD: (.exr -1) ExceptionAddress: 00000 阅读全文

posted @ 2020-03-03 14:12 活着的虫子 阅读(1418) 评论(0) 推荐(0) 编辑

2020年3月2日

AeDebug中的“Ae”代表什么?

摘要: 用于配置应用程序崩溃自动调试的注册表项的名称是AeDebug。好吧,很明显“Debug”代表什么,但是“Ae”代表什么? 我无法证明,但间接证据表明AE代表“应用程序错误”。对话框的标题最初是“应用程序错误”。这里有这样的评论: // This fixes the AE (application e 阅读全文

posted @ 2020-03-02 14:53 活着的虫子 阅读(605) 评论(0) 推荐(0) 编辑

异常的保护机制

摘要: 以栈作为基础的SEH本身具有很大的危险性,我们可以利用各种手段对栈上SEH节点进行覆盖重写,再次执行异常处理操作时就会将执行权给到了我们用来覆盖的函数上,这实际上在以前是很常见的windows栈溢出手段,当然,除了这种方法外还有许许多多的利用手段,可见这样的异常处理机制还是不够完善的。为了解决这些问 阅读全文

posted @ 2020-03-02 11:42 活着的虫子 阅读(702) 评论(0) 推荐(0) 编辑

硬件异常分类

摘要: 硬件异常可以分为三种: fault(错误),在处理此类异常时,操作系统会将遭遇异常时的“现场”保存下来(比如EIP、CS等寄存器的值),然后将调用相应的异常处理函数,如果对异常的处理成功了(没成功的情况会在下文中提到),那就恢复到原始现场,继续执行。最经典的fault例子莫过于Page Fault了 阅读全文

posted @ 2020-03-02 10:39 活着的虫子 阅读(487) 评论(0) 推荐(0) 编辑

2020年2月28日

CLR处理损坏状态的异常

摘要: 你有没有写过不太正确但足够接近的代码?当一切顺利的时候,你是否不得不编写运行良好的代码,但是你不太确定当出了问题时会发生什么?有一个简单的、不正确的语句可能位于您编写或必须维护的代码中:catch (Exception e)。这似乎是无辜和直截了当的,但这个小小的声明会造成很多问题,当它不能做你期望 阅读全文

posted @ 2020-02-28 15:15 活着的虫子 阅读(519) 评论(0) 推荐(1) 编辑

分析一个dump的一般步骤

摘要: 看清楚是何种异常导致的崩溃. 对齐symbol, 找到发生崩溃的函数名字, 以及对应的汇编代码和源代码. 列出callstack 检查callstack是否合理 检查发生崩溃的函数是否得到了正确的参数. 检查发生崩溃的函数使用的数据是否正确. 结合上面的信息, 构思来龙去脉, 然后用资料来证明, 或 阅读全文

posted @ 2020-02-28 10:31 活着的虫子 阅读(742) 评论(0) 推荐(0) 编辑

windbg使用的一些技巧

摘要: 怎样打印某函数调用关系 命令功能适用范围 uf /c /D 地址 打印当前函数对其他函数的调用 用户态/内核态 # 函数名 起始地址 l长度 打印在某段地址范围内代码对该函数的引用 内核态/用户态 例1: kd> uf /c /D 0x804fa5e6 nt!KeDelayExecutionThre 阅读全文

posted @ 2020-02-28 10:16 活着的虫子 阅读(1050) 评论(0) 推荐(0) 编辑

2020年2月27日

在WinDBG中高亮你输入的命令

摘要: 在WinDBG的Command窗口中, 默认情况下, 你输入的命令很容易和该命令以及附近命令的输出混杂在一起. 在寻找之前命令的结果的时候, 眼睛看起来会很累. WinDBG提供了一个选项, 通过这个选项, 你可以把命令输入与输出的颜色进行设置. 选项名: Prompt level command 阅读全文

posted @ 2020-02-27 11:27 活着的虫子 阅读(259) 评论(0) 推荐(0) 编辑

2020年2月26日

Visual C++中的异常处理

摘要: 简介 本文介绍了在Windows中运行的VisualC++程序中处理异常和错误的标准技术。异常(或严重错误或崩溃)通常意味着程序停止正常工作,需要停止执行。例如,由于程序访问无效的内存地址(如空指针)、无法分配内存缓冲区(内存不足)、C运行时库(CRT)检测到错误并请求程序终止等,可能会发生异常。C 阅读全文

posted @ 2020-02-26 15:55 活着的虫子 阅读(2593) 评论(0) 推荐(0) 编辑

DebugBreak在非托管和混合(非托管+托管)应用程序之间有所不同?

摘要: 采用以下简单的源代码(将其命名为test.cpp): #include <windows.h> void main() { DebugBreak(); } 使用以下命令编译并链接: cl /MD /c test.cpp link /debug test.obj 如果TEST.EXE现在运行(在64位 阅读全文

posted @ 2020-02-26 13:40 活着的虫子 阅读(345) 评论(0) 推荐(0) 编辑

2020年2月13日

项目经理的角色

摘要: 阅读全文

posted @ 2020-02-13 20:48 活着的虫子 阅读(190) 评论(0) 推荐(0) 编辑

项目与商业价值

摘要: 什么是商业价值? 商业价值是指组织所从事的业务的整体价值,包含如下两部分: 有形价值货币资产、固定设施、股东权益、其他有用的物品或器材 无形价值包括商信誉、品牌认知度、公共利益、商标等 商业价值的范畴可以是短期、中期或长期的。每个组织都有其独特的商业价值。 项目和商业价值 有效运用项目组合、项目集和 阅读全文

posted @ 2020-02-13 20:30 活着的虫子 阅读(1116) 评论(0) 推荐(0) 编辑

组织与项目管理

摘要: 阅读全文

posted @ 2020-02-13 20:17 活着的虫子 阅读(138) 评论(0) 推荐(0) 编辑

2020年2月12日

项目管理办公室

摘要: 什么是项目管理办公室? 项目管理办公室是企业设立的一个职能机构名称,也有的称作项目管理部、项目办公室或项目管理中心等,英文为: Porject Management Office ,缩写简称:PMO。 PMO是在组织内部将实践、过程、运作形式化和标准化的部门,是提高组织管理成熟度的核心部门,它根据业 阅读全文

posted @ 2020-02-12 20:40 活着的虫子 阅读(466) 评论(0) 推荐(0) 编辑

2020年2月11日

运营和运营管理

摘要: 什么是运营 运营是指通过开展持续的活动来生产或提供重复的服务的一组组织职能。 与项目的相同点 由人来实施 受制约因素的限制 需要规划、执行和监控 为了实现组织的目标或战略计划 与项目的区别 项目是临时的,有明确的终点;而运营是持续的,无明确终点。 项目产生独特的产品、服务或成果;而运营产生重复的产品 阅读全文

posted @ 2020-02-11 20:37 活着的虫子 阅读(1014) 评论(0) 推荐(0) 编辑

2020年2月10日

项目/项目集/项目组合

摘要: 关系 区别 管理上的区别 阅读全文

posted @ 2020-02-10 20:46 活着的虫子 阅读(344) 评论(0) 推荐(0) 编辑

2020年2月8日

项目组合

摘要: 什么是项目组合? 项目组合就是为了实现战略目标,而组合在一起的项目。PMI对组合管理的定义为“Project Portfolio management refers to the selection and support of projects or program investments. Th 阅读全文

posted @ 2020-02-08 20:56 活着的虫子 阅读(574) 评论(0) 推荐(0) 编辑

项目集

摘要: 什么是项目集? 项目管理协会(PMI)把项目集定义为“经过协调管理以便获取单独管理这些项目时无法取得的收益和控制的一组相关联的项目。”协调管理是为了获得对单个项目分别管理所无法实现的利益和控制。项目集中可能包括各单个项目范围之外的相关工作。一个项目可能属于某个项目集,也可能不属于任何一个项目集,但任 阅读全文

posted @ 2020-02-08 20:49 活着的虫子 阅读(391) 评论(0) 推荐(0) 编辑

2020年2月7日

项目管理

摘要: 定义 项目管理是管理学的一个分支学科 ,对项目管理的定义是:指在项目活动中运用专门的知识、技能、工具和方法,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望的过程。项目管理是对一些成功地达成一系列目标相关的活动(譬如任务)的整体监测和管控。这包括策划、进度计划和维护组成项目的活动的进展。 阅读全文

posted @ 2020-02-07 18:52 活着的虫子 阅读(408) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页

导航