草庐IT

windows - 从故障转储中查找 GDI/用户资源使用情况

我有一个据称泄漏GDI的应用程序的故障转储。该应用程序在XP上运行,我可以毫无问题地将它加载到WinDbg中进行查看。以前我们使用Gdikdx.dllextension查看Gdi信息,但XP或Vista不支持此扩展。有没有人知道如何在WinDbg中查找GDI对象的使用情况。或者,我确实可以访问失败的程序(及其压力测试套件),因此如果您知道任何适用于XP和Vista(或Windows2000,尽管这不是)的“实时”调试工具,我可以在正在运行的系统上重现我们的目标)。 最佳答案 上周我一直在研究GDI泄漏查找器工具。我们还定期执行压力测

windows - Windows错误报告在哪里创建转储文件

我只想知道WER把它的转储文件写到哪个位置?此位置是否特定于操作系统? 最佳答案 documentationforWER表示您可以设置注册表设置来控制转储位置和转储类型HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\WindowsErrorReporting\LocalDumps\DumpFolderHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\WindowsErrorReporting\LocalDumps\DumpTypeDumpFolde

windows - 尝试使用 Windows 7 为 Symfony2 项目转储 Assets 时出现运行时异常

我使用的是Windows平台(请不要笑话我)。我正在尝试在运行Windows7的本地计算机上使用asseti构建一个Symfony2项目。现在我无法理解为什么它不转储Assets文件。它总是说某种运行时异常。我认为这与咖啡桶和节点路径有关。这是为咖啡桶和节点设置路径的正确方法吗?framework:[...]#TwigConfigurationtwig:[...]#AsseticConfigurationassetic:debug:"%kernel.debug%"use_controller:truebundles:[...]filters:sass:load_paths:["%ker

windows - 尝试读取转储时为 "Symbols can not be loaded"

我有一个应用程序有时会在WinXP机器上导致蓝屏死机。为了找到更多信息,我加载了生成的*.dmp文件(来自C:\Windows\Minidump),但在执行此操作时在大部分读数中收到此消息:**********************************************************************Symbolscannotbeloadedbecausesymbolpathisnotinitialized.****TheSymbolPathcanbesetby:**usingthe_NT_SYMBOL_PATHenvironmentvariable.**u

c# - 使用 windbg 调试 .NET 转储

我制作了一个.NET进程的转储(使用-ma选项和procdump.exe中的高CPU触发器),我想在运行的线程中查看有关我的代码正在做什么的线索。我明白了:***procdump-ma-c65-s2-n3service.exe***Processexceeded65%CPUfor2seconds.ThreadconsumingCPU:4396(0x112c)'指示的线程在转储时正在执行:0:022>kChildEBPRetAddrWARNING:FrameIPnotinanyknownmodule.Followingframesmaybewrong.0990f104040666ab0x

windows - 使用用户模式转储确定 WinDbg 中的线程等待时间

在WinDbg中是否有任何方法可以确定自什么日期/时间起Windows线程被WaitForSingleObjects或WaitForMultipleObjects等函数阻塞?我知道如何在内核调试中执行此操作(使用!thread),但我不知道如何在用户模式调试中执行此操作。 最佳答案 在WinDbg中,您可以使用!runaway来获取线程计时:!runaway!runaway1(用户时间)!runaway2(内核时间)!runaway4(耗时)(您会发现这些在某些地方被记录为0、1和2,但根据我的经验,它们不起作用。可能取决于WinD

windows - 从任务管理器生成时的进程转储类型

从WindowsVista开始,现在可以直接从任务管理器生成进程转储。通常,我使用Adplus或直接从Windbg生成进程转储。如果我使用这些选项之一,我必须在我的命令中提供一些开关,以描述生成的转储类型。鉴于当我从任务管理器生成进程转储时所有这些细节都被隐藏了,有人知道它是什么类型的转储以及其中包含什么吗?我记得在某处读到从任务管理器生成的进程转储不包含句柄表的详细信息。对此还有什么想法吗? 最佳答案 转储是一个“具有完整内存的用户迷你转储文件”,因此对于大多数任务来说你都很好。但是,您不能指定应在某些特定事件中创建转储。adpl

windows - 进程崩溃时生成故障转储的最佳方法?

在Windows环境中(XP和Win7):当系统上的进程崩溃时自动生成故障转储的最佳方法是什么?安装程序(MSI)包可以做到这一点吗? 最佳答案 在Windows上为任何/特定进程自动转储的最佳方法之一是在注册表中配置一组条目。我在Windows764位上尝试了以下操作。打开notepad.exe,粘贴以下条目并将其另存为“EnableDump.reg”。你可以给任何你想要的名字。WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Window

redis - 我如何每天转储我的redis数据库?

我接手了一个使用Redis临时存储队列中对象的项目。我想知道如何每晚倾倒所有对象。这家公司只在早上8点到晚上8点营业,每天都有工作完成,所以我们每天都重新开始。所以我想知道如何在午夜从Redis中转储或删除所有数据。 最佳答案 仅供引用-在Redis术语中转储数据实际上意味着将其保存到磁盘。看来您想要的是删除所有数据。有很多方法可以做你想做的事,但基本上你需要设置一个cron作业或类似的作业来执行FLUSHALL例如。或者,如果您的Redis服务器未配置磁盘持久性,您只需重新启动它即可。

ruby-on-rails - 如何使用 Foreman 正确关闭和转储 Redis 服务器?

我有一个与Foreman一起使用的Procfile来启动我的本地redis和webrick服务器:web:bundleexecrailsserver-p$PORTredis:redis-serverconfig/redis.development.conf我使用在配置中定义的命名套接字连接到Redis,如下所示:unixsocket/tmp/redis-APPNAME.sock在Rails中一切正常,但是当我在终端中按CTRL+C终止Foreman时,Redis数据库没有被转储。Redis服务器以这种方式被SIGINT终止。因此,每当我重新启动Foreman堆栈时,我都会得到旧的Red