看板 C_Sharp 關於我們 聯絡資訊
大家好,想請教一下,我有一個class A, a = new A(), b = a, c = a,..... 想請問一下,有辦法知道 new A() 被幾個引用嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.44.4 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1491880389.A.229.html
yuhaw0715: vs 2015 2017有这个功能 04/11 12:51
brian80122: 尋找所有參考 04/11 16:25
Litfal: 他是指instance被strong reference的次數吧?這有辦法拿嗎 04/11 18:21
恩,我想取得被strong reference的次數...
s4300026: 離題,object d = (object) A; 04/11 18:32
s4300026: 糟了,應該要小寫 04/11 18:33
請問這是啥意思???^^" ※ 編輯: lovecold (122.117.44.4), 04/11/2017 19:19:38
ssccg: .NET CLR根本沒有用reference count,沒有地方取得 04/11 20:25
s4300026: 就是向上轉型成為最上層的物件,這樣也會被計數嗎? 就 04/12 19:36
s4300026: 只是這樣的一個問題。 話說,gc應該知道有沒有人只到吧 04/12 19:36
s4300026: ? 不然怎麼知道該不該回收了? 04/12 19:36
ssccg: 會知道有沒有人指到,但不會去算幾個指到 04/12 20:36
Litfal: 知道該不該釋放(0/1)和知道計數是不同的。而且這應該在 04/12 20:48
Litfal: application's roots,目前是沒有辦法透過語法直接拿的 04/12 20:49
Litfal: 用WinDbg說不定有辦法dump出來 04/12 20:53
nickerChen: 設個變數丟回去? 或者用session 存起來? 04/13 09:22
erspicu: http://tinyurl.com/plm68vd TRY 04/13 14:06
erspicu: ㄟ 原PO問題好像跟連結意思不太相同 04/13 15:06
erspicu: 但感覺原PO其實要問的是連結的問題 04/13 15:07
erspicu: 因為搞不太懂原PO提的這問題到底確切應用為何? 04/13 15:08
erspicu: 反來是某CLAS被實體化次數資訊好像還有意義些 04/13 15:09
erspicu: 原PO的問題是某被實體化物件被參考的次數 04/13 15:09
Litfal: 嗯 原PO問的是reference count,樓上那篇是instance count 04/13 16:03
s4300026: 也就是說,一個是數 類別實例化 幾次,一個是數 有幾個 04/13 18:52
s4300026: 指標 指到該實例化的物件 04/13 18:52
outofyou: 一樓說的是有列出所有指標值的功能嗎? 04/14 17:47
s4300026: 今天不小心看到的 goo.gl/uVoUyz 04/18 11:43