问题标签 [base-address]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2965 浏览

.net - .NET assemblies and DLL rebasing

According to this article rebasing is not necessary for .NET assemblies due to JIT compilation of the code. The article states:

"JIT-compiled code does not have a rebasing problem since the addresses are generated at run time based on where the code is placed in memory. Also, MSIL is rarely affected by base address misses since MSIL references are token-based, rather than address-based. Thus when the JIT compiler is used, the system is resilient to base address collisions."

However, I have noticed that VS2008 assigns the default 0x0400000 base address to all assemblies (project properties > build > advanced) and if I do a listdlls /r for my process all my .NET assemblies are in fact rebased per default.

If I assign addresses myself, no rebasing is done.

My question is: What is rebased in this case and why?

EDIT: I should add that I am not talking about NGen'ed assemblies.

0 投票
3 回答
22230 浏览

wcf - 多个 WCF 服务可以共享一个公共 BaseAddress 吗?

我有一个包含几个 WCF 服务的程序集,每个服务都有自己的合同。这一切都很好。该服务的 app.config 中的服务配置如下所示:

由于我有一个更大的项目,有更多的合同,我想有一种方法可以在不同的服务合同之间共享 BaseAddress。
如果这只是一个具有不同合约和端点的服务,我可以设置一个通用的基地址,但是如何为多个服务设置一个通用的基地址?

当然,我需要为客户提供类似的东西。

0 投票
3 回答
4477 浏览

.net - DLL、内存映射、基地址、内存使用和 .NET?

在我开始真正的问题之前,让我先说一下我可能会在这里弄错一些细节。如果是这样,请在这些问题上逮捕我,甚至不要回答我的问题。

我的问题基本上是关于 DLL 和 .NET。我们有一个使用大量内存的应用程序,我们正试图弄清楚如何正确测量这一点,尤其是当问题主要发生在客户的计算机上时。

让我印象深刻的一件事是,我们有一些相当大的 .NET 程序集,其中包含生成的 ORM 代码。

如果我使用具有唯一基地址的非托管 (Win32) DLL,同一台机器上的多个同时进程会将 DLL 加载到物理内存中,然后将其映射到所有应用程序的虚拟内存中。因此,该 DLL 将使用一次物理内存。

问题是 .NET 程序集会发生什么。这个 DLL 包含 IL,虽然它的这一部分可能在应用程序之间共享,但是由这个 IL 产生的 JITted 代码呢?是共享的吗?如果不是,我如何衡量以找出这实际上是否导致了问题?(是的,我知道,它会有所贡献,但在它成为最大的问题之前,我不会花太多时间在这上面)。

另外,我知道我们没有查看解决方案中所有 .NET 程序集的基地址,.NET 程序集是否有必要这样做?如果是这样,是否有一些关于如何确定这些地址的指南?

对此领域的任何见解都将受到欢迎,即使事实证明这不是一个大问题,甚至根本不是问题。


编辑:刚刚发现这个问题:.NET 程序集和 DLL rebase部分回答了我的问题,但我仍然想知道 JITted 代码是如何影响所有这些的。

从该问题及其接受的答案看来,JITted 代码放置在堆上,这意味着每个进程将加载共享的二进制程序集映像,并在其自己的内存空间内生成代码的私有 JITted 副本。

我们有什么方法可以衡量这个吗?如果这会产生大量代码,我们将不得不更多地查看生成的代码以确定是否需要对其进行调整。


编辑:在这里添加了一个较短的问题列表:

  1. 确保 .NET 程序集的基地址是唯一的且不重叠以避免重新设置主要用于将 IL 代码从 JITting 中提取出来的 dll 是否有任何意义?
  2. 如何测量 JITted 代码使用了多少内存来确定这是否真的是一个问题?

@Brian Rasmussen 在此处的回答表明,正如我所料,JITting 将生成 JITted 代码的每个进程的副本,但是重新设置程序集实际上会对减少内存使用产生影响。我将不得不深入研究他提到的 WinDbg+SoS 工具,我已经在我的列表中列出了一段时间,但现在我怀疑我不能再推迟了 :)


编辑:我在这个主题上找到了一些链接:

0 投票
1 回答
5186 浏览

wcf - 为什么我的 WCF 服务没有响应我在 web.config 中的 baseAddress 设置?

我正在尝试通过在Anthony Steele 的博客文章中重新创建项目来学习如何使用 WCF 构建 RESTful 服务。他在他的配置中使用以下 XML 来设置服务的端点。

但是,当我尝试在我的 ASP.NET 3.5 网站的 web.config 中做同样的事情时,我无法导航到我的服务。这是我正在使用的 XML:

我想我的配置将允许我导航到http://localhost:49268/TestREST/webapi/services/greeter并查看我的服务。我得到的只是一条找不到资源的消息——我错过了什么吗?

编辑:我的部分问题是我的绑定是 wsHttpBinding。使用 webHttpBinding 可以让我正确使用该服务 - 除了 baseAddress 配置部分仍然无效。

0 投票
4 回答
4776 浏览

linux-device-driver - 查找设备基地址以通过 inb() 和 outb() 进行通信

我正在尝试使用 inb()、inw()、outb() 和 outw() 命令与磁盘驱动器通信,以便找到有关驱动器的特定信息。但是,要使用这些命令,我​​需要设备的正确 I/O 端口。当我拥有正确的 I/O 端口时,我可以很容易地找到我正在寻找的信息,但是,我不知道如何在 Linux 中找到设备 I/O 端口的基地址。

在 DOS 中,我可以使用 Hdat2 查找设备的基地址,但是,我试图在 Linux 中查找地址。有没有办法在 Linux 中找到哪个设备映射到哪个 I/O 端口?

/proc 中有一个名为 ioports 的文件,其中包含一些信息,但我不知道如何将这些信息与特定设备相关联。

任何帮助将不胜感激。谢谢!

0 投票
1 回答
8489 浏览

c# - WCF 中的多个基地址和多个端点

我正在使用两个绑定 TCP 和 HTTP。我想提供两个绑定的mex数据。我想要的是 mexHttpBinding 只公开 HTTP 服务,而 mexTcpBinding 只公开 TCP 服务。或者这可能是我只从 HTTP 绑定和TCP的eventLogging服务访问统计服务吗?

例如:

  • 对于 TCP,我应该只有

    /li>
  • 对于 HTTP

    /li>

当我连接到任何基地址(使用 WCF 测试客户端)时,我能够访问所有服务吗?就像我连接net.tcp://localhost:9001/ABC时一样,我可以使用 HTTP 绑定提供的服务。为什么呢?

0 投票
7 回答
39374 浏览

c++ - EXE 或 DLL 映像基址

C++/windows 中有没有办法获取 exe/DLL 映像基址?谢谢 :)

0 投票
1 回答
186 浏览

php - php:Mod 重写让我很难找到基地址.. 需要帮助

我是 Mod_rewrite 的新手,但问题是它破坏了我所有的 ajax 和 php

我使用 windows.location 对象来获取 javascript 示例的当前位置:

自从我使用 mod_rewrite 以来,这永远不会起作用的问题。我的 .htaccess

一些身体可以引导我解决这个问题。? 我在装载所有 imgs 和 css/.js 时也面临同样的问题,但我听说我可以在 .htaccess 上写条件以仅重定向 .php!,

我需要一种方法来查找 ajax 调用的基地址,以及其他方法来查找 php 的基地址。

0 投票
1 回答
527 浏览

.net - WCF 客户端配置 - 将多个服务重定向到另一台主机

现在,我的客户端web.config 中有多个服务,如下所示:

还有更多

此 web.config 使托管环境之间的切换变得困难且容易出错,因为您需要替换所有和每个端点地址上的“主机名”。

我想以某种方式添加一个环境应用程序设置或某处可以让我指定主机的东西,并让端点像这样被解析http://{hostA}/ServiceX.svc

我是否需要以编程方式做一些魔术,或者我可以单独从配置中做到这一点?

0 投票
1 回答
3870 浏览

c# - 找到正确的基地址

我意识到我的正确版本baseaddress是错误的

但这baseaddress是错误的

我也查看了MSDN,但这段代码很奇怪,给了我一个无限循环。

我希望你能帮助我,因为我找不到任何例子。

编辑 :

在这里,我制作了我的桌面图像。我真的很困惑,也许有人知道我在哪里犯了错误。 http://i.stack.imgur.com/50lva.jpg