作者lovecold (小猪头)
看板C_Sharp
标题[问题] 有方法取得正被引用的次数?
时间Tue Apr 11 11:13:07 2017
大家好,想请教一下,我有一个class A,
a = new A(), b = a, c = a,.....
想请问一下,有办法知道 new A() 被几个引用吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.117.44.4
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1491880389.A.229.html
1F:→ yuhaw0715: vs 2015 2017有这个功能 04/11 12:51
2F:→ brian80122: 寻找所有参考 04/11 16:25
3F:→ Litfal: 他是指instance被strong reference的次数吧?这有办法拿吗 04/11 18:21
恩,我想取得被strong reference的次数...
4F:→ s4300026: 离题,object d = (object) A; 04/11 18:32
5F:→ s4300026: 糟了,应该要小写 04/11 18:33
请问这是啥意思???^^"
※ 编辑: lovecold (122.117.44.4), 04/11/2017 19:19:38
6F:→ ssccg: .NET CLR根本没有用reference count,没有地方取得 04/11 20:25
7F:推 s4300026: 就是向上转型成为最上层的物件,这样也会被计数吗? 就 04/12 19:36
8F:→ s4300026: 只是这样的一个问题。 话说,gc应该知道有没有人只到吧 04/12 19:36
9F:→ s4300026: ? 不然怎麽知道该不该回收了? 04/12 19:36
10F:→ ssccg: 会知道有没有人指到,但不会去算几个指到 04/12 20:36
11F:推 Litfal: 知道该不该释放(0/1)和知道计数是不同的。而且这应该在 04/12 20:48
12F:→ Litfal: application's roots,目前是没有办法透过语法直接拿的 04/12 20:49
13F:→ Litfal: 用WinDbg说不定有办法dump出来 04/12 20:53
14F:→ nickerChen: 设个变数丢回去? 或者用session 存起来? 04/13 09:22
16F:→ erspicu: ㄟ 原PO问题好像跟连结意思不太相同 04/13 15:06
17F:→ erspicu: 但感觉原PO其实要问的是连结的问题 04/13 15:07
18F:→ erspicu: 因为搞不太懂原PO提的这问题到底确切应用为何? 04/13 15:08
19F:→ erspicu: 反来是某CLAS被实体化次数资讯好像还有意义些 04/13 15:09
20F:→ erspicu: 原PO的问题是某被实体化物件被参考的次数 04/13 15:09
21F:→ Litfal: 嗯 原PO问的是reference count,楼上那篇是instance count 04/13 16:03
22F:推 s4300026: 也就是说,一个是数 类别实例化 几次,一个是数 有几个 04/13 18:52
23F:→ s4300026: 指标 指到该实例化的物件 04/13 18:52
24F:→ outofyou: 一楼说的是有列出所有指标值的功能吗? 04/14 17:47
25F:推 s4300026: 今天不小心看到的 goo.gl/uVoUyz 04/18 11:43