プロが教える店舗&オフィスのセキュリティ対策術

VS2013を使用しています。 プログラムを実行してら以下のようなエラーが起こりました。

Debug Assertion Failed!
Program: ,,,cuments\visual studio2013\Projects\HDface2\Debug\HDface2.exe
File: atcomcli.h
Line: 195
Expression: p!=0
For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
C++言語初心者なのでどの部分をどのようにすべきなのかよくわかりません。
解決方法を教えていただければ嬉しいです。

A 回答 (2件)

> Debug Assertion Failed!



デバッグモードでプログラムを実行する際、不適切な値などが処理に渡された事をチェックする処理で停止している状態です。
例えば、割り勘計算する関数で、「合計金額」と「人数」を渡して、1人当たりの金額を計算しますが、人数にゼロを渡した場合に不適切って事で処理停止するようにするだとか。

質問の場合、「atcomcli.h」(atlcomcli.hの間違い?)の195行目に定義しているCOM インターフェイス関係の関数を呼び出した際、いずれかのポインタの内容がNULLなので、実行できませんよ、Releaseなんかで実行したら例外とかアクセス違反で停止しちゃうかもよって教えてくれてます。
atlcomcli.hはライブラリが提供しているものですから、いじっちゃダメです。

対象の関数を呼び出している個所を確認して、渡している引数の内容を調べてみてください。
呼び出し場所の調べ方としては、Assertionが出ている状態で「Retry」でデバッグを開始し、「表示」-「デバッグウィンドウ」-「コールスタック」を表示して、質問者さんが作成したコードが対象関数を直接ないし間接的に呼び出している順を辿るとか。


英文だけど、似た質問がありました。

Visual Studio - Forums - Problem with atlcomcli.h assertion failed!
https://social.msdn.microsoft.com/Forums/vstudio …
    • good
    • 0

atcomcli.hの


195行目でエラーが出てる
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A