草庐IT

Gradle堆栈信息

全部标签

c++ - Windows 中有关 PTE(页表条目)的信息

为了更容易发现缓冲区溢出,我正在更改我们的自定义内存分配器,以便它分配一个完整的4KB页面,而不是仅分配所需的字节数。然后我更改页面保护和大小,这样如果调用者在其分配的内存块之前或之后写入,应用程序会立即崩溃。问题是虽然我有足够的内存,但应用程序永远不会完全启动,因为它耗尽了内存。这有两个原因:由于每次分配都需要4KB,我们可能很快就会达到2GB的限制。如果我制作一个64位可执行文件(还没有尝试过),这个问题就可以解决。即使我只需要几百兆字节,分配也会在某个时刻失败。第二个问题是最大的一个,我认为它与PTE的最大数量有关(页表条目,它存储有关虚拟内存如何映射到物理内存的信息,以及页面是

windows - 为什么堆栈低于内存中的文本?

我正在使用Windbg来研究进程内存,不禁注意到一些人们刚刚接受的东西。打印寄存器时:eax=00000000ebx=008b6f00ecx=01010101edx=ffffffffesi=00000000edi=00465000eip=77f9d022esp=05cffc48ebp=05cffc54iopl=0nvupeingnznaponccs=001bss=0023ds=0023es=0023fs=0038gs=0000efl=00000286请注意ESP和EBP的值低于EIP,这意味着堆栈在某处低于进程的文本部分(!?)。为什么是这样?据我所知(我在Linux中也用gdb做过同

windows - 如何在 Visual Studio 中将版本信息添加到已编译的 EXE 文件中?

我有一个C++控制台应用程序,我想在EXE文件中添加一个版本号。如果这个版本会随着每次构建自动递增,那就更好了。这在VisualStudio2013中有可能吗? 最佳答案 第一部分很简单。右键单击解决方案中的ResourceFiles文件夹,添加、资源、版本。只需根据需要编辑字段。该编辑器在Express版afaik中不可用。第二部分,不,自动递增版本并不简单。有用于此的构建自动化工具,您在构建服务器上使用的那种。如果你使用一个,你就不会问这个问题。 关于windows-如何在Visua

c++ - 如何以编程方式检索 C++ 中 64 位进程的详细信息?

我的目标是以编程方式获取64位进程的完整命令行。我已经理解并编写了这段代码,我在其中对所有当前正在运行的进程进行了进程遍历,并获取了它们的每一个细节。但问题是此代码无法对64位进程(不在WOW64下运行的进程)执行相同的操作。#include#include#include#include#include#includeusingnamespacestd;BOOLGetProcessList(FILE*f);BOOLListProcessModules(DWORDdwPID,FILE*f);BOOLListProcessThreads(DWORDdwOwnerPID,FILE*f);v

python - 我们可以在 Python 中使用 os.listdir 获取时间戳信息吗(如 ls -l)?

我联系一个SFTP服务器并根据修改后的时间戳显示文件。目前,它是使用类似的东西完成的:files=os.listdir(SFTP)遍历文件并使用os.stat获取时间戳。用Python对最终列表进行排序。当SFTP位于不同的服务器上时,第2步中的循环成本非常高,因为它必须为每个文件从服务器到SFTP进行网络调用。有没有办法使用os.listdir或类似的API获取文件和修改时间?我使用的是Windows后端,SFTP连接通常是使用win32wnet.WNetAddConnection2完成的包裹。一个通用的解决方案会很有帮助,如果不是一个特定的解决方案也应该没问题。

windows - 在 Eclipse 中创建新的 gradle 项目时无法选择完成

我无法在EclipseOxygen中导入或创建gradle项目。在任何一种情况下,当我到达最终屏幕并尝试选择“完成”时,它什么都不做。我在下面有一些屏幕截图可以帮助您了解问题所在。我相信我的环境变量设置正确,因为我能够从cmd运行java-version和gradle-version。当我到达导入/创建gradle项目的最终屏幕时,Java主目录、Gradle版本和Gradle用户主目录是未知的。这是我正在使用的东西Windows10javaJava版本“9.0.4”Gradle4.5.1截图ImportingGradleProjectJRESettingsNewGradleProje

c - 如何在c中获取硬盘信息?

我正在使用MSVS2008。我正在用c编写应用程序,想知道确定硬盘信息(例如可用空间和总容量)的最佳方法是什么。谢谢 最佳答案 Win32API引用是您应该查看的地方。免费空间的调用是GetDiskFreeSpaceEx() 关于c-如何在c中获取硬盘信息?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4208784/

c# - .NET EXE 和 DLL 之间的堆栈/堆差异

这个问题困扰了我很久:.NETEXE和DLL文件都有地址空间。我知道他们都有代码空间和全局变量空间。但我想知道DLL是否有自己的堆和堆栈空间。 最佳答案 进程拥有堆。每个线程都拥有自己的堆栈。当EXE调用DLL中的函数时,使用相同的堆栈,因为函数调用在同一线程中。要说明的另一点是进程具有加载EXE和DLL的地址空间。 关于c#-.NETEXE和DLL之间的堆栈/堆差异,我们在StackOverflow上找到一个类似的问题: https://stackoverf

javascript - 在生产中运行平均堆栈应用程序

我只是在玩MEAN堆栈,但我不知道如何在生产模式下运行我的应用程序来执行一些基准测试。网站mean.io说:Torunwithadifferentenvironment,justspecifyNODE_ENVasyoucallgrunt:$NODE_ENV=testgrunt如何将变量传递给grunt?编辑:我正在使用Windows 最佳答案 要确定应用程序是在生产模式还是开发模式下运行,它会检查NODE_ENV环境变量,这是一个您将在shell中设置并从Node读取的变量。如果你想在生产模式下运行grunt,使用:$NODE_EN

windows - 帮助我了解 Process Explorer 中的这些内存统计信息

我正在尝试对我的大型财务计算运行所需的内存量进行非常粗略的测量。它是一个非常简单的命令行工具,可以为大量金融工具定价,然后打印出结果。我决定使用ProcessExplorer查看程序的内存需求。有人可以解释一下屏幕截图中标记为a和b的两个字段之间的区别吗:我目前认为:标记为“a”(峰值专用字节数)的值是在任何瞬间分配给进程的最大内存量(磁盘上的实际物理内存和虚拟内存)。标记为“b”(PealWorkingSet)的值是进程生命周期中任何时刻分配的最大物理内存量。 最佳答案 来自here:Theworkingsetisthesetof