导航:首页 > 编程语言 > 64位系统远程调试32位程序

64位系统远程调试32位程序

发布时间:2023-03-22 11:35:51

① 如何解决64位进程调用32位dll-CSDN

64 位调 32 位的方法就是使用一个跨平台的进程。
也就是说,需要创建一个 和 使用的 DLL 一致的平台进程。
比如, 64 为需锋丛要调用 32 位的 DLL,那么需要创建一个 32 位的进程。
然后,让这个进程来调用 32 位的 DLL。

你的 64 位程序和这个 32 位的进程通过进程间通信的方式呼叫函数。
比如说呼叫一个 DLL 中的函数,在你的 64 位进程中,把呼叫信息打包,发送给 32 位进程。
32 位进程得到这个数据包,呼叫 DLL 执行操作,在把结果返回到 64 位进程。

你说灶洞的那个网址上的方法是 Windows 封装的一隐基枯个方式。
她使用 接口 和 RPC 隐藏呼叫的复杂性。
比如,如果创建远程实例,引用锁定,线程安全等等。

Windows API 呼叫内核都是这样的。RPC 是 Windows 的基本操作。

② vs是64位为什么远程调试监控器是32位

vs2012在 windows2003,让旦扰 xp下无法坦旦远程调试, 不支持的。 vs2012只支持windows2008以迟哗上的版本进行远程调试。 windows2003下 只能用vs2010进行远程调试。

③ 32位软件在64位电脑运行不显示该怎么办

安装64位office办公软件的时候提示已有32位系统,不能安装。。而32位office已经卸载。

这是因为注册表里还有32位软件的注册文件。下面将通过几步解决。

电脑无法安装64位版本的office提示已有32位版本怎么办?

按WIN+R键,打开运行。输入regedit,点确定。

进入注册表后,找到HKEY_CLASSES_ROOT,点击打开。

找到Installer,点击打开。

在列表中找到Procts。

将Procts中0005开头的文件删除,(有时是0002开头的)。

再重新安装即可。

④ 64位程序怎么调用32位dll

在64bit平台上,在32bit平台上调试通过之后,很容易就生成了64bit的驱动文件版这个问题最终是这样解决的。权
总结:
32bit的进程是可以调用64bit的驱动(sys文件)的;但是32bit的进程不能调用64bit的进程,更换到64bit平台上:我使用WDF重新编写了驱动程序,例如我的32bit的VB软件就不能够调用64bit的DLL,完全可以使用32bit的DLL和32bit的进程。因此我的软件不用做任何改动,在64bit平台上直接使用。

⑤ 在64位操作系统上,下面程序返回什么结构

一、确定在64位操作系统上运行还是在WOW64下运行。

在Visual
Studio平台中最后对64位应用程序编译时,需要指定这个应用程序是在64位操作系统上作为本机应用程序运行还是在WOW64环境下运行。这个
WOW64环境是一个由操作系统提供的兼容性环境。这个环境主要是让32位应用程序也能够在64位的操作系统上运行。换句话说,在编译时要确定产生的应用
程序是真正的64位应用程序(只能够在64位操作系统上运行),还是伪64位应用程序(其实是32位应用程序,只是可以借助WOW64在64位操作系统上
运行)。

在确定这个内容的时候,有一个内容笔者要特别提醒
大家。通常情况下在64位操作系统上,所有使用NET Framework
1.1以前版本生成的应用程序都将被视作为32位应用程序,并且始终在32位公共语言运行上的WOW64环境下运行;而在2.0版本以后生成的32位特定
应用程序可以在64位平台上的WOM64环境下运行。这两个版本之间的细微差异,各位读者可以开发一个小程序测试一下即可。其中的内涵是只可意会、不可言
传呀。

二、正确部署Visual Studio开发环境。

在开发64位应用程序之前,需要明白一点。到目前
为止,Visual Studio
2008仍然是一个32位的应用程序。在安装部署时,如果是在X86的计算机上(32位操作系统),则其将安装32位的CLR版本。而如果在64位操作系
统上安装部署时,安装进程将同时安装32位的CLR版本和合适的64位CLR。注意当将其部署到64位操作系统的时候,它将在WOW64环境下运行。

此时笔者认为需要注意一个细节问题。当在
Wom64环境下运行32位应用程序时,应用程序只限于在一个处理器上执行。也就是说应用程序不能够享受64位操作系统所带来的性能上的提升。而单处理器
执行会降低32位应用程序在基于Itanium系统上运行时的性能和可伸缩性。为此如果对于性能要求比较高的应用程序或者有负载比较高的服务器,尽量不要
采用兼容的方式。即32位应用程序在32位操作系统上运行,而不要在Wom64环境下运行。否则的话,不但不能够享受64位操作系统带来的好处,反而会降谈圆
低应用程序原有的性能,得不偿失。

三、32位应用程序在64位CLR上运行可能导致意外的结果。

虽然64位操作系统提供另一个WOW64环境,使得32位应用程序能够在64位操作系统上运行。也就是说,在大部分情况下32位含猛塌应用程序可以在32位或者64位操作系统上同等的运行,其最终的结果都是相同的。但是有时候也会有意外。这些意外主要是以下原因所造成的。

如在应用程序的结构中包含一些大小随平台而改变的成员。如指针类型的对象,其会操作操作系统位数的不同而改知核变。再如指针算法中如果包含固定大小,或者不正确的平台调用与COM声明等等,都会导致32位应用程序在64位CLR上运行出现一些意外的结果。

为此笔者特别提醒,如果开发人员设计一些兼容的应用程序时(即可以同时在32位与64位应用程序上运行),必须要注意这些因素对应用程序运行过程的影响。在开发中,要尽量避免使用这些对象,以免不必要的麻烦。

四、如何判断某个应用程序是否适合在64位操作程序上运行。

在应用程序开发时,开发人员可能会借鉴已有的应用
程序。此时他们就需要判断手中的应用程序能否在WOW64环境下运行。或者说,只有在特定的平台下,如32位操作系统或者64位操作系统下(而不是
WOM64)下运行。要实现这个目的的话,开发环境提供了一个Corflags的命令。简单的说,在命令行中使用corflags.exe可以确定某个
exe或者dll是仅仅在特定平台上运行,还是只可以在WOW64环境下运行。另外在必要的情况下,程序开发人员还可以利用这个命令来更改应用程序的平台
状态。

五、调试64位应用程序与32位应用程序之间的差异。

在开发平台中自带有应用程序的调试工具。应用程序
调试一般包括本地调试与远程调试。对于一些中大型的应用程序而言,远程调试是必须的。这里需要注意,在任何情况下,如果在64位计算机上安装远程调试都会
同时安装32位和64位版本的远程调试监视器。不过在调试64位应用程序的时候,则必须要选择正确的版本。如需要选择“远程调试器X64)。否则的话,调
试结果会有偏差。

下面介绍一下在64位平台上VS中会出现的编译错误

模块计算机类型“x64”与目标计算机类型“X86”冲突

一种可以解决的方法是:

1、修改目标计算机类型:项目->熟悉->连接器(Linker)->高级->目标计算机。然后把目标计算机类型改成X64。如下图所示:

2、配置管理器:解决方案平台(默认是Win32的)->选择配置管理器->活动解决方案平台下选择x64。如下图所示:

清楚一下项目 重新编译一下 OK!

项目生成64位的应用程序

⑥ office2019由64改成32如何操作

1、加载镜像文件
打开镜像文件存放的目录,右击、用好压软件加芹尘兄载至虚拟光驱。
2、安装Deployment Tool
(此时在官网下载的最新版是16版本的工具,对19版具有兼容性。也许各位在安装的时候就出19版的工具了).
双击已经下载好的XXX.exe可执行文件,
接下来就会提示选择文件路径,这个路径是存放setup.exe软件和配置文件的,可以随便放.
本人在D盘新建嫌袭了一个Officetool文件夹进行存放(文件夹一定要英文的).
在D盘Officetool文件夹下可以看到一个setup.exe文件和3个.xml文件.
在Officetool文件夹下新建一个Configuration.xml文件,右击编辑,在文档中写入以下内容:
其中Add后面添加的SourcePath="V:"是用虚拟光驱加载安装镜像后的路径,OfficeClientEdition=“64”,是指定安装64位的,若是32位,请将此处改兄尘为32即可,然后保存一下。(如果出现路径错误,SourcePath="V:"去除即可)
3、安装执行
通过管理员模式打开CMD控制台,键入如下代码进行执行

⑦ 如何让32位编译的程序在64位系统中正常运行

操作系统从32位步入64位,对于用户来说是质的飞跃。由于CPU读取数据宽度增加1倍,速度和精度都带来了跨跃。同时,CPU的读写方式的改变,对于程序员来说,需要适应跟进。虽然,64位系统支持32位程序,但是是有条件的,因为系统对CPU的操作有所变化,有的有32位上操作,就不能在64位在操作了。比如,软件通过调用底层,通过汇编读写数据的源程序,在32位上运行自如,在64位上就出现问题,执行出错。
在开发工具方面,基于Java、.NET的工具可以很顺利地支持64位平台。因为,它们不通过调用底层实现代码,而是基于.Net调用实施。对于Delphi来说,由于它是与操作系统紧密相关的,与它代码,最终实现“32位程序可以在64位系统正常运行”的目的。
下面步骤仅供参考:
1、对于涉及到ASM代码的单元进行修改,采用API取代;
2、对于一些引用的读写硬件的单元,多数采用ASM代码,取消引用该类单元;
3、尽可能不使用第三方控件。特别是,无源代码的第三方控件。(内含ASM代码)
4、修改后的读写硬件的单元,要分别在64位机器中,调试。主要验证:
(1)可以运行(支持代码)。
(2)返回值32位与64位一致。
通过,上述代码改进。编译后的程序。在64位上正常运行。

⑧ 如何解决64位系统与32位软件不兼容

1、在64位Win7系统下运行游戏,弹出错误对话框。

阅读全文

与64位系统远程调试32位程序相关的资料

热点内容
专题学习网站源码 浏览:163
jsphead什么 浏览:88
gps串口数据怎么发送 浏览:968
win10文件主页共享查看 浏览:411
中国联通有哪些app是免流的 浏览:176
边做边保存的文件找不到了 浏览:858
win10照片应用文件夹名称 浏览:966
编程如何解决资金的原子性 浏览:638
如何制作广角镜头矫正文件 浏览:513
在网页开发中应该选用哪个数据库 浏览:742
iphone5移动卡贴 浏览:990
电脑文件的格式 浏览:127
extjs的xtype 浏览:959
suse11iso文件要u盘安装 浏览:153
如何将报表统计数据转化为图形 浏览:444
如何寄快递材料文件 浏览:265
java构造方法private 浏览:475
手机文件找回恢复 浏览:516
word怎么把u盘里的文件拔掉 浏览:976
港版苹果用的插排 浏览:1000

友情链接