HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0711
しんるーちゅプラグインのデバッグはどのように行っていますか?3解決


しんるーちゅ

リンク

2006/7/11(Tue) 22:37:16|NO.1328

こちらでは、はじめまして。
(新でない)HSP3掲示板で、例外無視について書き込みした者です。(No.5411)

プラグイン作者(や本体開発者)の皆さんは
どのようにネイティブコード部分のデバッグを行っていますか?

私は、Visual Studioのデバッガを使っているのですが、
プラグインのコーディング自体にVSを使っていない点も相まって
非常に不便で困っているのです。

これはという方法などありましたら参考程度に紹介していただけると幸いです。

# ちなみに、時間だけ流れて、相変わらずHSP3ビギナーです。すみません。



この記事に返信する


Drip

リンク

2006/7/13(Thu) 19:23:23|NO.1346

Dripです。

 しんるーちゅさん、こんにちは。
拡張プラグイン等のネイティブコードのデバッグについてですが、
ネイティブコードは機械語と呼ばれるもので、通常人間が理解することはできません。
よってデバッグはそのネイティブコードを生成したプログラム自信が行ったり、
機械的なフィルタを通してしか行えません。(勿論逆アセンブルを使えばこれまでではありませんが)

 基本的にネイティブコードについては、多くのプログラマはブラックボックステストをメインに
デバッグしているはずです。外部から見たプログラム実行テストなため、開発者が最も手軽に
行うことのできるテストです。興味をお持ちなら以下の書籍やURLも参照してみてください。

.NET&Windowsプログラマのためのデバッグテクニック徹底解説
http://www.amazon.co.jp/gp/product/4891003529/249-6793275-8033134?v=glance&n=465392

ブラックボックステスト
http://e-words.jp/w/E38396E383A9E38383E382AFE3839CE38383E382AFE382B9E38386E382B9E38388.html



しんるーちゅ

リンク

2006/7/14(Fri) 02:59:13|NO.1347

どうも、Dripさん、こんにちは。
親切にありがとうございます。

さて、後出しで申し訳ありませんが、少し注釈をつけさせて戴きます。
ネイティブコード部分と明記したのは、
プラグインを動かす為のHSPスクリプトのデバッグではなという点を強調したかったのと、
プラグインに限らず、本体コードも含めるという意からでした。

例えば、より具体的に、メモリアクセス違反等のランタイムエラーは
どのように検出して、どのように修正を加えるのが手軽なのですかね。

# とは言っても、雑談扱いにしたので、まったりと……?



Drip

リンク

2006/7/15(Sat) 22:41:22|NO.1358

Dripです。

 しんるーちゅさん、こんにちは。

> プラグインに限らず、本体コードも含めるという意からでした。
> 例えば、より具体的に、メモリアクセス違反等のランタイムエラーは
> どのように検出して、どのように修正を加えるのが手軽なのですかね。

 これは凄い質問ですね。
もしもこの質問の答えが存在するならば、世界に存在するプログラムの約半数のバグは消えるでしょう。
メモリアクセスで発生するエラーの原因は大きく分けて2通り、

・オペレーティングシステムがメモリを操作したときに発生するエラー(OS側のバグ)
・ソフトウェアプログラムがメモリを操作したときに発生するエラー(ソフトウェアプログラム側のバグ)

 が存在します。このどちらが原因で発生した問題なのか究明するのも困難なのに、
機械語が何かの処理をした結果発生したメモリアクセス違反の原因を手軽に検出し、
修正することは、多くのプログラマの夢であり、その夢を実現するのは困難を極めます。
 メモリアクセス違反として目に見える不具合ならまだしも、メモリリーク等の
徐々にプログラムを浸食する類の不具合は、発見が非常に困難です。

 これは私の個人的な意見ですが、現状では、可能な限り安定したコーディングを行う事が大切、
としか言いようがありません。



ONION software Copyright 1997-2023(c) All rights reserved.