2011-03-23 76 views
6

尋找在UNIX上 一些傳統的C/C++代碼專門識別依賴於代碼分析工具,傳統的C/C++

  • 特定功能
  • 具體(包括?)文件
  • 代碼分析工具
  • 文件/套接字I/O調用等
  • 從根
  • 功能的依賴關係樹等
+2

可以用grep很快解決很多問題。 – Cascabel 2011-03-23 21:36:02

+0

請參閱我們的源代碼搜索引擎,它提供了一個帶有GUI的「grep」式代碼查詢語言,可以在避免格式問題的同時輕鬆地提出「<此構造>的位置」問題。 http://www.semanticdesigns.com/Products/SearchEngine – 2011-03-26 18:48:49

回答

7

Doxygen可能是你在找什麼。它可以提供沒有程序員標記的交叉引用,調用圖和依賴樹,這似乎是你需要的。

0

就爲f聯想樹等doxygen想到。請參閱下面的Ben Voigt的評論。

如果你只是試圖通常調試,在Linux gdbvalgrind是非常寶貴的,因爲在低層次上搞清楚發生了什麼。在Windows中,Visual Studio提供了很多類似的調試功能。

你的問題有點含糊。你能告訴我們更多關於代碼和你的任務嗎?

+0

您可以通過設置'EXTRACT_ALL = YES'來獲得'doxygen'來分析所有內容,即使在源代碼中沒有標記。 – 2011-03-23 22:07:56

+0

已更新,謝謝! – 2011-03-23 22:23:22

+0

當談到腳本調試器時,我認爲WinDbg更像是'gdb'。但我想最終這是一個品味問題。 – 0xC0000022L 2011-03-24 01:21:06

1

我已經成功使用Understand過去。它不是免費的,但它有一個試用期,所以你可以對此發表意見。

+1

試過了,它在一個合理的大代碼基礎上崩潰,我想了解它。可悲的是,它甚至沒有保存中間結果...: - | – 0xC0000022L 2011-03-24 01:22:29

+0

相同,理解非常有前途但仍不穩定。 – 2017-10-12 07:58:54

1

您可以使用LLVM基礎結構進行某些代碼分析(例如,構建依賴關係圖,搜索某些模式等),以及Clang或llvm-gcc。