草庐IT

【JavaEE】进程和线程

全部标签

windows - Visual Studio 2017 不启动,但产生一个进程

我使用的是VisualStudio2017专业版。最近,有东西坏了。当尝试运行它时,它在大约四次试验中仅启动一次。但是,即使它没有启动,它也会生成一个可以在任务管理器中看到的devenv.exe进程。虚拟进程(每次成功运行VS都会产生一些虚拟进程)是否会同时终止,并且在我尝试安装一些扩展时会导致问题。我试过删除%LocalAppData%\Microsoft\VisualStudio\15.0_5a56ecad\privateregistry.user.bin(我在某处找到了这个解决方案,但现在找不到了)。这似乎有帮助,但只是暂时的(一段时间后,问题再次出现)。它还破坏了我的一个扩展,

c++ - 在不减慢线程速度的情况下保存大量数据

我需要保存视频系统的踪迹,以便以后在Windows机器上检查重播。帧生成是在线程中完成的,我想在处理函数结束时保存帧,例如voidgenerate_video_frame(){....save_frame(frame);}为避免减慢生成线程的速度,save_frame必须尽快完成此操作。最终目标是在磁盘上保存视频的踪迹。每个帧都可能很大(甚至20-30MB),所以我不能将所有内容都存储在RAM中,因为我最终会完全填满它。我想到了两个解决方案:填充帧队列并使用另一个线程将其清空并将其刷新到磁盘(因此主线程不会受到影响)。如果刷新到磁盘线程较慢(如我所料),这最终也可能会填满RAM使用ma

c# - 如何确定修改文件的最后一个进程?

我知道如何获取最后修改文件的用户,但Windows是否也跟踪进行修改的进程?如果是这样,是否有用于查找它的API? 最佳答案 没有。没有记录。您可以在特定文件夹上启用对象访问审核(我不建议在一般文件系统上使用)。看这个post并谨慎使用!您也许可以使用.NET的FileSystemWatcher类。 关于c#-如何确定修改文件的最后一个进程?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

windows - 32 位与 64 位 Windows 版本上的进程大小和行为差异

我正在调查我的应用程序的一个奇怪问题,该问题在2个Windows版本上的行为不同:WindowsXP(32位)WindowsServer2008(64位)我的发现如下。WindowsXP(32位)在运行我的测试场景时,XML解析器在解析非常大的配置文件期间的某个时刻失败(有关详细信息,请参阅thisquestion)。在失败时,进程大小约为2.3GB。请注意,注册表项已设置为允许进程超过默认的最大进程大小2GB(在32位操作系统上)。失败的系统是对IXMLDOMDocument::load()的调用失败,如上面链接的问题中所述。WindowsServer2008(64位)我在Windo

windows - 为什么某些 cmd 启动的进程在重定向输出时会阻止/缓冲输出?

为什么某些进程在我的Windows机器上的命令行中启动,如果重定向,则阻止/缓冲它们的整个输出,而其他进程则没有?示例:tracert不会在写入时阻止/缓冲输出。如果执行:tracertponyoverflow.com>output.txt...output.txt文件随时间增长。这完全是我期望事情表现的方式。但是,我正在尝试使用潜在供应商的软件产品(iSpringSDK,如果您必须知道的话),它似乎会缓冲完整的输出,直到该过程完成。让我感到困惑的是,当这个软件在命令行运行时,输出会像预期的那样零碎地、逐行地出现。为什么调用它时使用和不使用输出重定向在行为上存在差异?跟进杂项问题:这在

C - 从没有导出函数的外部进程调用函数

我想弄清楚如何在不导出函数的情况下调用函数。好的,我有一个exe文件,其中定义了“add”,这个exe是一个win32控制台应用程序并加载一个DLL。DLL还旨在使用exe文件中的添加函数(不导出)这是我的主要win32控制台应用程序文件:#include#include#pragmaauto_inline(off)intadd(inta,intb){printf("Addingsomeints\n");returna+b;}intmain(){HMODULEmodule=NULL;if((module=LoadLibrary(L"hook.dll"))==NULL){printf("

python - 在 Windows 上,如何使用 Python 2.7 子进程保护 shell 脚本的参数?

例如考虑以下Python代码:subprocess.call([r'.\tst.bat','"1|2"'])为了保护“|”,我在tst.bat的参数周围加上了双引号从shell因为tst.bat最终将通过Windowsshell运行。但是,如果参数中有双引号,Python2.7中的subprocess会将它们转义。结果是tst.bat收到这个参数:\"1|2\"。我如何转义参数“1|2”,使其不经转换就传递给tst.bat? 最佳答案 在为call方法提供参数列表的情况下,Windows上的子进程模块transforms使用list

windows - 使用 xperf 列出每个进程访问的文件?

使用xperf,我可以生成跟踪并获得所有文件的“平面”列表,如下所示:xperf-onFileIO+FILE_IO+FILE_IO_INIT+FILENAME-stackwalkFileRead+FileWrite+FileDeletexperf-startFileIOSession-heap-PidNewProcess"C:\Python27\x86\python.exescratchy.py"-WaitForNewProcess-BufferSize1024-MinBuffers128-MaxBuffers512-stackwalkHeapAlloc+HeapRealloc-f./

c++ - 查看进程内存映射的最佳程序是什么?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我需要查看进程使用的image/heap/malloc()/stack等资源。我知道内存验证器,但它缺少一些功能。

c++ - 如何在动态加载的 DLL 中正确实现 (C++) 线程本地存储?

在这种情况下,我动态加载的DLL由Windows资源管理器加载,以便将新的属性表(新选项卡)添加到文件/文件夹属性页面。一个简单的例子是StrmExt.dll(downloadsource)。在此示例中(源由Microsoft提供),DLL不使用线程本地存储(TLS),因此在同时加载多个属性页时会导致严重问题。查看源代码后,DLL需要一个线程基变量(文件的文件路径)...staticTCHARg_szFile[MAX_PATH];将这一行代码更改为:_declspec(thread)TCHARg_szFile[MAX_PATH];...使DLL支持多线程,因此支持属性表的多个实例。但是