草庐IT

虚拟调试

全部标签

windows - 调试寄存器替代品?

我在读一些关于调试的旧文章,其中一篇提到了调试寄存器。阅读更多关于这些寄存器的信息以及它们的功能让我非常渴望和它们玩得开心。然而,当我试图寻找更多关于如何实际使用它们的信息时,我读到它们只能从Windows中的ring0访问。我当时以为就这样结束了,因为我不会编写一个内核驱动程序来玩几个寄存器。但后来我想到了我曾经玩过的内存编辑工具。它被称为CheatEngine,程序的各种选项之一是指定中断正在执行/访问/读取的指令/数据。这与调试寄存器的作用完全相同。所以我想知道:Windows中的调试寄存器是否有替代品/替代品?因为我确定该程序(CheatEngine)不使用内核驱动程序来设置这

c# - 远程调试器 : The specified account does not exist

我正在尝试设置远程调试器。无论我做什么,visualstudio一直提示“指定的帐户不存在”。环境:域,Windows2008R2DC。两台PC都加入了域。远程PC是WindowsServer2003R2SP2,32位,在HyperV机器上运行。本地PC为Windows7SP1,64位,visualstudio2010,运行在物理硬件上我使用相同的用户帐户在本地登录,登录到远程PC,并运行“VisualStudio10RemoteDebugger”服务。此用户帐户是域管理员。如果重要,子网不同(一个是192.168.0.xxx,另一个是192.168.1.xxx),但服务器上的RRaS

windows - 用于调试异常内存泄漏的调试技术

我有一个泄漏大量内存的Windows应用程序(旧版)。它不会泄漏私有(private)字节,我只在进程资源管理器中看到它会不时加载相同(局部)Windowsdll-s的许多实例。是否有一种工具可以用来“捕获”dll-s被映射到进程空间的时刻,以便我可以(使用应用程序符号)将其跟踪到源代码? 最佳答案 在ProcessMonitor中,您可以获得每个记录的操作的堆栈跟踪,因此您可以看到谁打开了某个文件。定义一个过滤器,其中包括:Pathcontainsiologgingmsg.dll。如果噪音太大,可以尝试添加过滤器,例如Operat

python - 用于调试的 pygtk 控制台输出

我有这个问题。我正在创建一个编辑器,我需要将控制台输出(sys.stderr和sys.stdout)输出到TextView。问题是,当我启动控制台时,它会等待它退出,但我希望它捕获任何内容并将其输出到TextView,所以我认为您可能需要不同的线程,但它不会使它无法从另一个线程中捕获任何东西?我想要这个以防编辑器不是从终端启动的。如果您想知道,它将用作模块。这是到目前为止的代码:importsysimportgtkimportpygtkpygtk.require('2.0')classConsole:def__init__(self):tv=gtk.TextView()tv.set_e

c++ - 如何创建文件路径可以像磁盘一样访问的虚拟文件系统

我需要在内存或磁盘上创建FileSystem类型的东西,它可以像磁盘上的文件一样访问,它的路径可以在fopen()等函数中使用。详细信息:我正在使用AddFontResourceEx函数在应用程序中加载字体。由于此功能需要文件路径,因此文件需要存在于磁盘上。但我要求用户不能访问/查看字体文件。我尝试了AddFontMemResourceEx函数,但加载的字体不可枚举,因此用户无法在应用程序中看到字体。我也尝试过一些创建VFS的库,但它们像数据库一样工作,即你可以创建文件/目录并访问它们。但不能在AddFontResourceEx或任何其他函数中使用它们的文件路径。是否存在某种方法可以让

windows - 调试(Win): DIA versus DBGHELP

简洁明了:DIA(调试接口(interface)访问)和DBGHELP库之间的实际区别是什么?我知道DIA是基于COM的并且似乎非常强大(并且能够与托管和非托管进程一起使用),而DBGHELP似乎使用起来非常方便但提供的可能性较少。任何人都可以解释这两者的区别在哪里,以及一个可以做什么,而另一个不能做什么?我真的很难在互联网上找到一些完整的结论性信息:(抱歉,如果这看起来是一个乏味的问题,感谢您为我提供的任何答案!:)问候普尔诺克提斯 最佳答案 DIA具有一致的基于COM的接口(interface)。DbgHelp由一组标准C函数组

windows - Azure 虚拟机 (Windows) 的最佳工作流程是什么?

我正在使用MongoDB数据库开发Socket.IO应用程序。由于各种原因,我正在开发在Azure中的Windows虚拟机上运行的应用程序。设置一切都相当轻松,我现在在云中有了一个基本的应用程序。但是,我无法找到舒适的工作流程。我希望能够将更改推送到虚拟机(就像我在*nix系统上使用git一样),但我不确定如何最好地做到这一点。 最佳答案 因此您可以使用VisualStudio与GithubforWindows一起开发。对于熟悉Linux的东西,您可能想尝试Cloud9IDE,它是一个浏览器中的IDE,还可以轻松连接到您的githu

windows - Visual Studio RC 总是跳转到调试器

当我构建我的应用程序时,它总是跳转到base.js的这一行而不会出现任何错误。为什么?如何修复?varterminateAppHandler=function(data){debugger;MSApp.terminateApp(data);}; 最佳答案 看到这个有两个原因:您有一个以done结尾的promise链,它遇到错误,但您没有在done调用中提供错误句柄。它是done的第二个参数,调用时唯一的参数是错误信息。您的应用程序中有一个未处理的异常。debug/exceptionsinvs中开启breakwhenthrownwhe

windows - 如何将长参数粘贴到 Windows 中的调试器中?

我试图在文本编辑器中编写函数的参数并将它们粘贴到控制台中,但控制台不允许我这样做。(我的论点列表很长,格式开始变得疯狂。)我正在使用在cmd.exe窗口中运行的ghci。我能做什么? 最佳答案 正如评论中所指出的,在Windows控制台中,您可以右键单击标题栏并执行Edit>Paste。如果您只想在窗口中右击立即粘贴,您可以打开QuickEdit模式:右键单击窗口的标题栏,然后选择Properties。选择选项标签在编辑选项中,勾选快速编辑模式点击确定,当它询问您时,选择为以后具有相同标题的窗口保存属性。这意味着它会在您每次运行gh

c - 如何在 C 中调试 Windows 服务启动代码,而不是 C#

大家我想知道如何在C中调试Windows服务启动代码。有几个这样的问题,但在C#中,但它们不是我需要的。到目前为止,我只能附加到进程进行调试。现在我想调试main()函数,怎么办?越详细越好。非常感谢。我的代码如下。主要功能:voidmain(){SERVICE_TABLE_ENTRYServiceTable[2];ServiceTable[0].lpServiceName="MemoryStatus";ServiceTable[0].lpServiceProc=(LPSERVICE_MAIN_FUNCTION)ServiceMain;//ServiceMainServiceTable