32位与64位Windows内存理解 [英] 32 Bit vs 64 Bit Windows Memory Understanding

查看:94
本文介绍了32位与64位Windows内存理解的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我们有32位应用程序,需要在执行某些操作时分配大块内存。发现在某些情况下应用程序崩溃。但是,具有完全相同步骤的相同应用程序在x64位操作系统上工作。

We have 32-bit application which requires to allocate the big chunk of memory while doing some operation. It is found that, in certain cases that application crashes. However, the same application with exact same steps work on the x64 bit OS.

我使用了SysinternalSuite的VMMap工具,发现对于x64位系统,它需要2.2 GB的COMMITED内存才能完全使用完成操作。在32位系统上,当COMMITED大小达到1.8 GB附近时崩溃。

I used VMMap tool from SysinternalSuite and found that, for x64 bit system it took 2.2 GB of COMMITED memory to fully complete the operation. On 32-bit system it crashes when COMMITED size reaches near 1.8 GB.

问题是:

应用程序是LARGEADDRESSSPACEAWARE然后为什么它可以上升到3GB内存。我正在努力寻找崩溃的确切原因。我们只是对内存的印象,但没有相同的证据。

The application is LARGEADDRESSSPACEAWARE then why it could go upto 3GB memory. I am trying look for the exact cause of the crash. We are just under impression about memory but dont have the proofs for the same.

任何人都可以建议这个工具,它可以帮助从OS的角度找出崩溃的确切原因和正确的理由。

Can anyone suggest the tool which can help to find out the exact reason of the crash and proper justification from OS standpoint.

谢谢和问候,Mahesh R. Kulkarni

Thanks and Regards, Mahesh R. Kulkarni

推荐答案

您好

取决于崩溃的类型。你是否使用从malloc whitout验证它们的返回值?你有违反访问权限吗?

Depends on the type of crash. Do you use return values you get from malloc whitout verifying them? Do you have access violations?

下一个问题是:你如何分配内存,你经常释放内存吗?

Next question would be: how an in what granularity do you alloc memory and do you often free memory too?

鲁道夫


这篇关于32位与64位Windows内存理解的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆