2016年10月26日水曜日

[Cppcheck] 結果を CSV で出力してエクセルで確認する

なぜそんなことが必要か?
Jenkins で xml を集計している場合は、視覚的に確認ができます。
Visual Studio などから利用した場合も、--template vs で出力ウィンドウからジャンプできますし、拡張機能もあります。
これらの組み合わせを使っている場合は、まったくもって問題ないのですが、スタンドアロンで解析して結果を確認したい場合に、視覚的に確認できる方法が欲しかったので、表題にあるような対応をしました。

方法

出力ログフォーマットを以下のように指定します。
--template={file},{line},{severity},{id},\"{message}\"

あとは、stderr を .csv にリダイレクトすれば OK
(message にたまに "" が含まれている場合があるので、そこだけセルが別れちゃいますが…)


実際にこの方法で確認してみると結構便利だということがわかりました。
ぜひ一度お試しあれ


2016年10月17日月曜日

Bitbucket などから「SourceTree にクローン」をしても SourceTree が起動しない場合にすること

Bitbucket の WEB ページなどからクローンしたりするアレ。


これが無反応だったり、ストアアプリを検索させられたり、うまく動作してなかったので調べました。



そもそもどういう仕組み?
なんか便利な機能程度にしか認識してなかったのですが、ちゃんと調べるとそんなのできたんだーと勉強になりました。
これは、URI Association というものだそうです。
ストアアプリとやり取りしたりするのに使ったりもするようです。

SourceTree のオプションから設定
さて、本題です。
SourceTree の URI Association がなぜか無効になっていることがわかったので(インストール時に設定されないのかな?)、オプションから設定してあげます。

「ツール」>「オプション」を開き、「全般」の上のほうにある「Use this version of SourceTree for URI association」にチェックをいれます。

これで完了です。

おまけ
URI Association はレジストリの HKEY_CLASS_ROOT に以下のような構成で記録されます。


2016年10月13日木曜日

[Cppcheck] 1.76 で Visual Studio プロジェクトファイルの読み込みに対応



--project=     Run Cppcheck on project. The  can be a Visual
                     Studio Solution (*.sln), Visual Studio Project
                     (*.vcxproj), or compile database
                     (compile_commands.json). The files to analyse,
                     include paths, defines, platform and undefines in
                     the specified file will be used.


プロジェクトファイルもしはソリューションファイルを指定すると、その定義に従って解析できるようになりました。
これを待っていた!
(あと cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON で出力できる compile_commands.json にも対応)


iutest で試してみました。


--verbose オプションをつけているので、Define とか Include がどう設定されているのかわかると思いますが、
ちゃんとプロジェクトの設定に従って、しかもすべての構成で解析してくれています!
最高やーん!

みんなも今すぐバージョンアップ!!
ダウンロードはこちらから→ Cppcheck - A tool for static C/C++ code analysis

2016/10/14 追記
Version 1.76 にはハングアップバグがあったようで、その修正バージョンとして 1.76.1 がリリースされていました。