kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

効果的なバグの書き方…と調査の仕方

社本さん&とっちゃん...苦労しているのが私だけじゃなくて良かった(笑)。

>いるいる。こーいう人。
>再現するやつを送ったんだから、それ使えっての...

そうなんですよねー若い頃、「相手に最小限の再現ソースくらい遅れ」と教えられたので、できる限り小さいコードを用意するようにしていますが、最近はなかなか難しいこともあります。
3層構造のアプリでサーバ側の処理とかになると、データベースのデータからミドルウェアとかまで必要になってしまうし。相手が持っている製品とかならいいんですけどね。たとえば、MSに送る場合だったらSQL Serverなら大丈夫だろうという期待ができるし。

必要なDLLのリストアップをちゃんとやってなくて、動かせないとか...
自社製モジュールなのに、転送元の「人」が違うと別バイナリとか...

一番泣いたのは、旧バージョンでつかってて新バージョンではカットしたのに
それをこっちに教えてくれないから、インストーラに背負ったままとか...

ありますねー。サーバ側のDLLなのに、クライアントにしかないDLLの関数よんでいたりとか、ひどいのになると循環参照しているDLL(A.DLL→B.DLL→C.DLL→A.DLL)見たときは思わずイナバウアー状態でした(当然はずさせました)。
クライアントのDLLを呼びだしていたのは、自分の手元でしか開発していないから、三層構造といっても一台の中に全部のDLLがあるので気付かないという。
OCXとか、動的にロードするDLLはDependency Walkerじゃ無理…だったかな?http://www.dependencywalker.comからダウンロードできる版だったらいいんだったっけ?
最近は.NETのアセンブリ版というべきdependencywalkerもあるようですね。今すぐ出てこないけど、MSDN blogで紹介されていました。