簡體   English   中英

在C代碼庫中查找全局/靜態變量的工具

[英]Tool to find global/static variables in C codebase

我已經為較大的C代碼庫創建了C ++包裝器(一個類),該庫最初是為微處理器編寫的。 現在,我們要模擬運行此C代碼的“代理”的多個實例。 當我們想了解它們如何相互作用時,我們需要同時運行它們。 如果可能的話,我們希望在一個進程中運行它們。

最初失敗是因為C代碼使用靜態變量,因此不是線程安全的。 我們以為我們已經刪除了所有靜態和全局變量,但仍然沒有得到預期的結果。 (如果只有一個實例,則一切運行正常。)

所以我的問題是:沒有在整個代碼庫中搜索此類變量,有沒有什么工具可以幫助發現問題? C代碼是用KeilμVision編寫的,現在已在Visual Studio 2008 Team Suite中進行編譯。

感謝您的建議!

如果可以在更統一的環境中構建它,則應該有一個可以在.o文件上運行的size命令,該命令將告訴您每個.o文件的databss段的大小。 這是查找靜態存儲持續時間變量的快速方法(只需在這兩個字段中的任意一個中查找非零大小)。

也許您可以嘗試使用mingw或cygwin進行構建,或者在MSVC工具集中尋找類似的工具。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM