ClickOnce 信頼プロンプトで公開元が"不明な公開元です。"として表示される場合の原因と対処方法

こんにちは、Japan Developer Support Core チームの松井です。今回は、ClickOnce アプリケーションのインストール時に表示される信頼プロンプトで、公開元が “不明な公開元” として表示される場合の想定される原因と対処方法をご案内します。 ClickOnce 信頼プロンプトとは信頼プロンプトは、ClickOnce アプリケーションをインストールする際に、アプリケーション名や発信元、公開元などを表示してインストールして問題ないかユーザーに確認を求める次の図ようなダイアログです。 信頼プロンプトの公開元はアプリケーションの署名に基づいて表示されますが、次の図のように “不明な公開元” として表示される場合があります。 不明な公開元として表示される原因と対処方法結論から述べると “不明な公開元” は何らかの理由でアプリケーションの署名の有効性が検証できない場合に...

Read more

Process Monitor ログの採取手順

こんにちは、Japan Developer Support Core チームの松井です。今回は、Process Monitor の概要とログの採取手順をご案内します。Process Monitor は弊社が無償で公開している Sysinternals に含まれるツールの一つです。Process Monitor では、動作しているプロセスによるファイルやレジストリへのアクセス、プロセスやスレッドの起動や終了といったアクティビティについて、記録や解析を行うことが可能です。ファイルやレジストリなどに関する問題を調査するための直接的な手段としてだけでなく、お客様のアプリケーションの動作やプロセス間の関係性を正確に把握して調査方針を検討する目的などでも、情報採取をお願いさせていただく場合があります。 情報採取時の影響について情報採取の実施中はコンピューターの CPU やディスク IO の負荷が高まる...

Read more

シンボル ファイルと Visual Studio のシンボル設定を理解する

こんにちは、Japan Developer Support Core チームの松井です。今回は、シンボル ファイルと Visual Studio のシンボル設定についてご案内します。 シンボル ファイルはアプリケーションをデバッグする上で欠かせないものの一つです。アプリケーションのデバッグは開発時だけでなくリリース後も必要になる可能性があり、またシンボルをロードするにはそのシンボルがモジュールのビルドと同時に生成されたものである必要があるため、リリース用のビルドであってもシンボル ファイルを生成して手元で大切に保管しておかなければなりません。そのため、Visual Studio のコンパイル オプションではシンボル ファイルの生成が既定で有効となっています。 シンボル ファイルがない場合、ユニファイド サポート等で弊社へアプリケーションのデバッグのご支援をご依頼いただいても効果的なご支援が...

Read more

同一ソースコードから生成されるビルド成果物のバイナリ同一性について

こんにちは、Japan Developer Support Core チームの松井です。今回は、Visual Studio に含まれる C++, C#, Visual Basic.NET における、同一ソースコードから生成されるビルド成果物のバイナリ同一性についてご案内します。 はじめに「同一ソースコードをビルドして得られる成果物は、毎回のビルド毎にバイナリ レベルで同一であることが保証されるか?」というご質問は、私たちのサポート チームによくいただくお問い合わせ内容の一つです。同一ソースコードからバイト単位で同一のビルド成果物を得られるようにすることは、決定論的 (deterministic) ビルド、再現可能 (reproducible) ビルドなどとして弊社製品に限らず様々な場所で議論されています。 ご質問の背景は様々ですが、お客様からいただく代表的なものとして以下のような状況が挙げ...

Read more

Visual Studio 2019 version 16.3.x でビルドした C/C++ アプリが例外 0xC000001d で異常終了する

こんにちは、Japan Developer Support Core チームの松井です。今回は Visual Studio 2019 version 16.3.x でビルドした C/C++ アプリケーションが特定の環境で 0xC000001d により異常終了する事象についてご案内します。 なお、この記事は Developer Community で報告されている問題についてご案内しております。対応の経緯などの詳細内容については、参考情報の項に記載しているリンク先のドキュメントをご参照ください。 現象Visual Studio 2019 version 16.3.x でビルドした C/C++ アプリケーションで、下記すべての条件を満たす場合に、例外コード 0xC000001d でアプリケーションが異常終了する場合があります。 ハードウェアAVX-512 命令をサポートする CPU オペレ...

Read more

Visual Studio 2019 version 16.0 サポート終了のご案内

こんにちは、Japan Developer Support Core チームの松井です。今回は Visual Studio 2019 version 16.0 のサポート終了についてご案内します。 Visual Studio 2019 version 16.0 のサポート終了についてVisual Studio 2019 version 16.0 (リリース初期のバージョン) は、以下のドキュメントに記載されている日のとおり 2021 年 1 月 12 日 (日本時間 2021 年 1 月 13 日) でサポートを終了します。 https://docs.microsoft.com/ja-jp/lifecycle/products/visual-studio-2019 サポートの終了後、version 16.0 についてはセキュリティ修正を含め更新プログラムの提供が行われませんのでご注意くださ...

Read more

浮動小数点を利用する際に知っておきたいこと

(※ 2014 年 10 月 28 日に Microsoft Japan Visual Studio Support Team Blog に公開した情報のアーカイブです。)(※ 参照先ドキュメントの変更や廃止に伴い、リンク先を差し替えています。) こんにちは。Visual Studio サポート チームです。 今回は、Visual Studio でアプリケーションを開発する時にデータ型として使用できる浮動小数点数についてのお話です。本記事の内容は Visual C++、Visual C#、Visual Basic を対象としております。 浮動小数点数を使用する際の注意点浮動小数点数はプログラムで小数を扱うために広く利用されていますが、少し癖のあるデータ型でもあるため、その特性をよく理解して利用しないと、思わぬ落とし穴に遭遇してしまうこともあります。浮動小数点の特性として、注意した方が良いも...

Read more

[メモリリーク #1] [HOWTO] UMDH を用いたメモリリーク調査技法

(※ 2013 年 8 月 18 日に JAPAN Platform SDK(Windows SDK) Support Team Blog に公開した情報の再編集・再掲です。) こんにちは、Japan Developer Support Core チーム 平田 a.k.a ぴろとです。本日は、メモリ リークに焦点を当てて調査を行う方法についてご紹介いたします。 概要説明多くの場合、アプリケーションのメモリ リーク箇所の特定は非常に難しいトラブルシューティングとなります。しかしながら、本日ご紹介させていただく User-Mode Dump Heap (以下、UMDH) というツールを用いることで、メモリ リークの発生箇所や、リークの大きさを特定することができます。私たちもお客様からのお問い合わせを調査する際に利用しているツールですので、ひょっとしたらメモリ リークしてるかも?という場合に...

Read more

イベント ID 1000 で記録される Application Error のイベント ログについて

こんにちは、Japan Developer Support Core チームの松井です。今回は、イベント ID 1000 で記録される Application Error のイベント ログについて、ログに記録されている内容の意味や、調査を進める上で一般的に必要となる情報について紹介します。 Application Error が発生する原因は様々で、原因を特定するために必要な調査手法も一様ではなく、調査には困難を伴うことが多くあります。この記事では Application Error に関して概要をお伝えしますが、お客様が開発したアプリケーションで発生しているエラーのデバッグや調査を弊社のサポート サービスで承っていますので、お困りのことがあればサポート サービスのご利用もご検討いただければ幸いです。 1. イベント ログに記録される Application Error の内容についてアプ...

Read more

32 bit アプリケーションで発生するメモリ不足に関連するエラーについて

こんにちは、Japan Developer Support Core チームの松井です。今回は、32 bit アプリケーションで発生するメモリ不足に関連するエラーについて、よくあるお問い合わせとその一般的な回答や見解などをご案内します。 大きなサイズのデータを扱うアプリケーションや、長時間実行し続ける 32 bit アプリケーションは、メモリ不足によりメモリ割り当てに失敗する問題に悩まされる場合があります。メモリ割り当てに失敗する状況は ERROR_NOT_ENOUGH_MEMORY (8) が返される、System.OutOfMemoryException がスローされるなどの形で顕在化しますが、原因はメモリ リークによる枯渇やフラグメンテーションなど様々です。 本記事の内容がメモリ不足に関連するエラーが発生したときの考え方やトラブルシュートの際の参考になれば幸いです。 よくあるお問い...

Read more