[英]Call hierarchy of Thread.run() in Eclipse
我傾向於大量使用eclipse的“ Open Call Hierarchy”功能來跟蹤方法調用在大型Java項目中的去向。 我被Threads激怒了,因為調用層次結構將Thread.run()
方法的調用者顯示為各種內部Java線程函數,而不是Thread.start()
調用,后者實際上導致了線程的運行。
有什么方法可以使Eclipse將Thread.start調用顯示為Thread.run()
方法的父Thread.run()
。 也許有插件可以做到這一點?
如果我理解您的問題,那么您想為給定的Runnable.run()
方法找到Thread.start()
方法的調用者嗎?
我發現這對於非常小的短期運行的匿名Runnables很有用。
但是,在更一般的情況下,我不確定是否進一步實用:
Thread.run()
方法,但是您對Thread.start()
方法的調用者更感興趣 有趣的問題。
歡迎您查看nWire 。 這是一個用於在一個動態視圖中瀏覽代碼的所有關聯的新工具。 非常方便和易於使用。 它將調用者和實現者(以及所有其他關聯)組合在一起。 希望收到您的反饋。
感謝您的回答,詹姆士。 在前面兩點中,您說(在匿名和非匿名Runnable中)查看Runnable構造函數的調用層次結構將很有用-是的,我同意! 這通常是我最終要做的。 但這通常意味着在兩個層次結構之間頻繁切換,一次只能顯示其中一個。 我想通過保留一個層次結構來避免這種情況。
在Runnable構造函數和對run()的調用之間沒有直接的調用層次結構,因此在我看來,通過將構造函數添加為run()的“調用方”來擴展調用層次結構是不合適的。 但是,調用start()或將線程添加到執行程序(或執行程序內的run()調用)可能適合在調用層次結構中顯示。
我真的只是想知道是否存在無法解決的現有解決方案。 我想如果我想要足夠的話,我只需要自己嘗試一個插件即可。
我嘗試了實現者插件。 這很有用,但不適用於此特定問題!
我也嘗試了nWire。 它有很多功能,我還沒有時間去充分研究,但是我找不到在這里尋求解決方案的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.