问题标签 [objectspace]

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 投票
1 回答
1780 浏览

c# - 无法隐式转换类型“DevExpress.Xpo.XPCollection”

我正在尝试创建一个返回 XPcollection 的过程,如下所示:

但我收到以下错误:

0 投票
0 回答
306 浏览

ruby - 为什么 Ruby 2.1 的 ObjectSpace.dump_all 堆输出中缺少文件名和行?

我最近使用新的ObjectSpace.dump_all方法分析了一堆 Ruby 2.1.2 代码。我取回了一些有用的数据(使用@tmm1 在该链接中建议的脚本):

我的问题是:为什么在我们看不到文件名或行号(最后六行)的地方分配了这么多对象?似乎我的问题与很多字符串有关,考虑到这个应用程序的功能,这绝对是有道理的。但不知道这些字符串是从哪里构建的意味着我无能为力。

当应用程序启动时,我正在运行ObjectSpace.trace_object_allocations_start,远在我尝试分析的操作之前。我肯定会GC.start在每次调用ObjectSpace.dump_all. 我正在调用.dump_all一些 Sidekiq 中间件,该中间件以类似于@krasnoukhov 的帖子的方式转储每 100 个工作。

我想我真正的问题是,这里是否有人足够了解 Ruby 对象分配来解释为什么ObjectSpace可能不知道这些对象的来源STRINGs

谢谢!

编辑:我使用的代码与@Krasnoukhov 的博客中的代码几乎相同

0 投票
0 回答
71 浏览

ruby-on-rails - 使用 ObjectSpace 在验证链中查找父 ActiveRecord 是个好主意吗?

考虑以下模型:

目标是确保Child不能在没有父级的情况下创建,即Father. 现在,如果父亲尝试以Child嵌套形式创建,Child则在验证验证时Father尚未收到 ID,因此验证将失败。一种建议的解决方案是使用ObjectSpace如下:

在验证链中使用ObjectSpace(例如)是一个好主意吗?Father是否存在另一个偶然同时被创造Father出来ObjectSpace并且有一个与所讨论的属性完全相同的孩子的孩子Child

0 投票
1 回答
287 浏览

ruby - Ruby反射是否可以检索包含对某些“var.object_id”的引用的所有对象?

假设在 Ruby 中我有a = "value"; arr1 = [a, b, c];并且arr2 = [a, d, e];

是否有一些反射性编程技术可以让我说:

引用的所有对象是a.object_id什么?

并得到类似的答案:

object_id:123123 (数组)

object_id:234234(数组)

0 投票
1 回答
239 浏览

jruby - ObjectSpace 在 jruby 中是否仍然被禁用?

在 jruby 9.1.5.0 (2.3.1) 中 ObjectSpace 是否仍然被禁用?

如果不仅仅是我的安装(Arch Linux,最新)有错误,我怀疑 ObjectSpace 在最近的 jruby 中发生了变化:尝试重现jruby 的关于性能的 wiki 条目中描述的行为,我得到以下反应:

那么最新情况如何呢?现在是否安全/推荐在现代 jruby 中使用 OpenSpace?

0 投票
2 回答
222 浏览

ruby-on-rails - ObjectSpace.each_object(Foo).count

我试图弄清楚ObjectSpace.each_object
在控制台中:

我看过一些例子,我知道第二个计数应该是 0。
有什么想法吗?
谢谢。

0 投票
1 回答
688 浏览

ruby-on-rails - Ruby ObjectSpace 对象分配跟踪的解释?

我正在尝试调试 Rails 应用程序中的内存泄漏,并且我正在尝试使用ObjectSpace#trace_object_allocations获取现有对象的转储。

为了让我更好地理解输出,我想我应该完全理解输出 JSON 行的含义:

是否有任何参考可以解释此 JSON 对象中项目的确切含义?

特别是,我对以下含义感兴趣:

  • 班级
  • 嵌入式
  • 字节大小
  • 一代
  • 旗帜
    • wb_protected
    • 老的
    • 无法收藏
    • 标记
0 投票
1 回答
52 浏览

c - 如何在没有 rb_string_eval 的情况下使用 C API 调用 ObjectSpace.each_object?

我目前正在尝试获取一个类的所有实例,我想用它ObjectSpace.each_object来实现这一点。

这是我在 C 中的实际代码:

但是,我不知道这是否真的是一件好事。我想rb_funcall改用,这可能是一种更清洁的方法。

我的问题是:

  • 比使用更好rb_funcallstring_eval?(我认为是因为解析器)
  • 由于似乎不存在,如何ObjectSpace在 C API 中检索模块?rb_mObjectSpace