草庐IT

Git-Windows-git-pull

全部标签

windows - 崩溃后获取 DLL 地址的函数

我知道当应用程序崩溃时,系统会报告它在mydll.dll中的0x00004b79位置崩溃。我有源代码和二进制文件,但我没有PDB或该DLL构建中的任何列表文件。崩溃是可重复的,但我无法在生产机器上安装调试器,并且在开发或调试环境中不会发生崩溃。我已经设置了Dr.Watson,并且有故障转储和Dr.Watson日志文件。Dr.Watson日志文件包含正在执行的函数的反汇编:10604b708b442408moveax,[esp+0x8]10604b748b542404movedx,[esp+0x4]10604b7850pusheaxFAULT->10604b798b4120moveax,

c# - 默认情况下,如何将新的 Windows 用户添加到用户组

我有一段创建Windows用户的代码。一切正常,确实创建了用户。但是,当我尝试调用LoadUserProfile时,操作失败,因为用户不在用户组中。现在,我知道如何实用地将此用户添加到用户组,但我不想硬编码组名“用户”,因为它可能会根据区域设置而改变。有没有办法默认将用户添加到Users组(顺便说一下,runasuser/add命令已经这样做了)?DirectoryEntrydirEntry=newDirectoryEntry("WinNT://"+domain);DirectoryEntriesentries=dirEntry.Children;DirectoryEntryuser=

c# - 运行 Windows 服务以观察服务运行增长内存(泄漏)

我已经检查了这里的所有帖子,但到目前为止找不到适合我的解决方案。我确实设置了一个小服务,它应该只监视我要监视的其他服务是否运行,如果没有运行,则重新启动它并在应用程序事件日志中放置一条消息。该服务本身运行良好,没什么特别的:),但是当我启动该服务时,它使用大约1.6MB的RAM,并且每10秒它增长60-70k,这足以忍受它。我尝试处理并清除所有资源。尝试使用System.Timers而不是实际的解决方案,但没有任何效果如我所愿,内存仍在增长。调试或发布版本没有区别,我在.Net2上使用它,不知道它对你3、3.5或4是否有影响。有什么提示吗?!usingSystem;usingSyste

windows - 调用 kernel32.dll 函数时获取调用堆栈

我有一个更改其当前目录的进程,我想知道它发生的时间和地点。我怎么能那样做?我尝试使用VisualStudio在SetCurrentDirectoryA/SetCurrentDirectoryW中设置断点,但它不起作用。 最佳答案 您是在调试自己的程序,还是没有源代码的程序?VisualStudio调试器对于调试无源应用程序不是很友好;在那种情况下,我会推荐WinDbg或OllyDbg-甚至跳过调试器并使用EasyHook编写一个检测记录器.编辑:尝试在{,,kernel32.dll}_SetCurrentDirectoryA@4处设

windows - md 'prn'、 'con' 和 'nul' 的命令提示符错误消息

我很好奇命令提示符为以下命令返回的错误消息:C:\>mdprnThedirectorynameisinvalid.C:\>mdconThedirectorynameisinvalid.C:\>mdnulC:\>cdnulTheparameterisincorrect.为什么“mdnul”不返回错误?编辑-我明白为什么这是错误的,保留字之类的。我特别想知道“mdnul”上缺少错误消息 最佳答案 这可能是因为CreateDirectory(_T("NUL"),NULL)返回1即使它无法创建目录。

windows - 如何获取应用程序从文件系统读取/写入文件系统所花费的总时间?

我现在正在分析一个执行大量磁盘I/O的应用程序。此时,我想知道磁盘I/O花费了多少时间。这样,我就可以对I/O和整个执行时间进行比较,从而决定下一步的优化目标。简而言之,我正在寻找工具或方法来:计算并汇总我的应用程序磁盘I/O操作的总时间。堆栈跟踪不是强制性的,但很有帮助适用于Windows或OSX。我无法控制执行磁盘I/O操作的组件。所以我无法在我的应用程序中添加分析代码来手动记录I/O时间。我尝试了XcodeInstruments的timeprofiler。但它太重了。我只想要I/O操作的摘要时间。谢谢 最佳答案 在Window

java - 为什么 Glassfish 在 Linux 中似乎比在 Windows 中需要更多内存?

我最近一直在修补GlassFish2.1.1,既有UbuntuLinux机器,也有WindowsXP机器。查看Windows上代表asadmin、JavaDB服务器和GlassFish应用程序服务器域本身的“java”进程(使用任务管理器),它们加起来刚好超过100MB的内存。但是,查看Linux机器上的相同进程(使用“psaux”和Gnome系统监视器)显示内存使用量大约为800MB。这对我来说似乎非常奇怪。如果有的话,我会假设Windows上的内存使用不太有利。无论哪种方式,我都不会期望两者之间的Swing如此戏剧化。我在这里缺少一些基本的东西吗?我不一定需要详细的分析信息,我只需

windows - 为什么我不能在 Windows 工作流 4 中将 lambda 表达式分配给字符串变量

我有一个名为taskItems的列表数组publicclassTaskItem{publicintIntnum{get;set;}publicintID{get;set;}publicintTaskID{get;set;}publicstringName{get;set;}publicstringValue{get;set;}}taskItems.Find(x=>(x.Name=="function")).Value我正在尝试使用Windows工作流中的分配组件将上述lambda表达式分配给字符串变量。此字符串变量在FlowChart中。它不会接受它。如果我在代码中使用相同的lamdb

windows - 无法跳转到跳转列表中较新的位置

出于某种原因,我无法使用向前跳转;给我错误的哔哔声。工作得很好。我也没有看到任何重新映射。任何想法可能是什么问题?我在win7上使用vim7.3编辑:我刚刚发现与%相同!不过,我仍然不知道如何修复它。 最佳答案 为什么有映射影响?简短的回答是“历史原因”,甚至可以追溯到原始“vi”之前。的ASCII码是9,与相同.由于终端接收以ASCII编码的输入,因此它们无法判断“TAB”信号是否来自实际的。key,或来自持有CTRL的用户然后按I.由于Vim最初是为在终端上运行而编写的,因此它也无法区分。另外几对无法区分的key是与,和与.可能

ruby - 使用 Ruby 1.8 和 Windows fork

我使用的是ruby​​1.8.7补丁级别302,我正在Windowsxp系统上工作。我必须启动一个需要对用户输入使用react的外部进程。如果我使用线程,进程不会使用react,所以我尝试使用fork。使用fork,外部进程对用户输入使用react,但它执行的不仅仅是forkblock。例如forkdoputs'child'endputs'parent'Process.waitputs'done'在我的机器上产生以下输出:parentchildparentdonedone如您所见,'done'和'parent'被打印了两次。我该怎么做才能让child只执行它的block而不是更多?(由