<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>技術メモ | 筋トレしながら資産運用するアキゾラブログ</title>
	<atom:link href="https://akizorainvestment.com/tag/%e6%8a%80%e8%a1%93%e3%83%a1%e3%83%a2/feed/" rel="self" type="application/rss+xml" />
	<link>https://akizorainvestment.com</link>
	<description>基本インデックス投資、海外ETFで資産運用、そして筋トレや美容を中心に女子らしいこともするブログ</description>
	<lastBuildDate>Sun, 03 Jan 2021 10:00:47 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>

<image>
	<url>https://akizorainvestment.com/wp-content/uploads/2020/05/favicon.ico</url>
	<title>技術メモ | 筋トレしながら資産運用するアキゾラブログ</title>
	<link>https://akizorainvestment.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>OneDrive上にSVNレポジトリを作成してファイルを管理する方法メモ</title>
		<link>https://akizorainvestment.com/2021/01/03/svn-repos-one-drive/</link>
					<comments>https://akizorainvestment.com/2021/01/03/svn-repos-one-drive/#comments</comments>
		
		<dc:creator><![CDATA[アキゾラ]]></dc:creator>
		<pubDate>Sat, 02 Jan 2021 15:13:37 +0000</pubDate>
				<category><![CDATA[プログラマ]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[技術メモ]]></category>
		<guid isPermaLink="false">https://akizorainvestment.com/?p=3402</guid>

					<description><![CDATA[今日は、OneDrive上にSVNのレポジトリを作成してファイル管理する方法について。 OneDrive上にレポジトリがあれば、複数のPCからチェックアウトしてソースを参照できますし、複数PCなくても、開発に使用している [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>今日は、OneDrive上にSVNのレポジトリを作成してファイル管理する方法について。</p>



<p><strong><span class="marker-under">OneDrive上にレポジトリがあれば、複数のPCからチェックアウトしてソースを参照できますし、複数PCなくても、開発に使用しているPCが変わっても便利</span></strong>です。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2020/02/akizorainvest-150x150.jpg" alt="アキゾラ" class="speech-icon-image"/></figure><div class="speech-name">アキゾラ</div></div><div class="speech-balloon">
<p>OneDriveじゃなくても、Google DriveとかDropBoxでも一緒かな？あんまりそっちを使ってないのでいまいちわかってないですが、読み替えできそうだったら、やってみてくださいｗ</p>
</div></div>



<p>個人で何か趣味でもなんでも開発する場合でも、やはりSVNのようなバージョン管理できるものがあると何かと便利なんですよね。</p>



<p>というか、開発に限らずOffice類のファイルなどでも使えますので、地味に色々と便利だったりします。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2020/02/akizorainvest-150x150.jpg" alt="アキゾラ" class="speech-icon-image"/></figure><div class="speech-name">アキゾラ</div></div><div class="speech-balloon">
<p><span class="marker-under">ExcelとかWordとかも、バージョン管理すればファイル名に「_更新」とか「_new」とかつけて保存していく必要なくなります。前のバージョンのファイルを簡単に入手できますから。</span></p>
</div></div>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">こんな人を対象にしています</span></div><div class="label-box-content block-box-content box-content">
<ul class="wp-block-list"><li>SVNを仕事などでは使ったことないけど、基礎的な部分だけでも簡単に使ってみたい人</li><li>家でお手軽にSVNでファイルのバージョン管理したい人（SVN自体を使ったことある人にはだいぶ冗長な説明になってます）</li></ul>



<p></p>
</div></div>



<p>ではいきます。</p>



<p>　</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">用意するもの、インストールするもの</a></li><li><a href="#toc2" tabindex="0">OneDrive上にSVNレポジトリを作成する</a></li><li><a href="#toc3" tabindex="0">SVNレポジトリにファイルをコミットする</a><ol><li><a href="#toc4" tabindex="0">まずはこの空のSVNレポジトリをチェックアウトする</a></li><li><a href="#toc5" tabindex="0">SVNレポジトリにコミットする</a></li><li><a href="#toc6" tabindex="0">SVNレポジトリブラウザでコミットしたファイルを確認してみる</a></li></ol></li><li><a href="#toc7" tabindex="0">OneDrive上のSVNレポジトリにローカルで変更したファイルをコミットする</a></li><li><a href="#toc8" tabindex="0">SVNレポジトリに対する操作ログを表示してみる</a></li><li><a href="#toc9" tabindex="0">他の場所（他のPC）でレポジトリをチェックアウトする</a></li><li><a href="#toc10" tabindex="0">レポジトリのファイルでローカルフォルダを更新する</a></li><li><a href="#toc11" tabindex="0">レポジトリから古いレビジョンのファイルを取得する</a></li><li><a href="#toc12" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">用意するもの、インストールするもの</span></h2>



<ul class="wp-block-list"><li><strong><span class="marker-under">TortoiseSVN</span>　</strong><a rel="nofollow noopener" href="https://tortoisesvn.net/downloads.html" target="_blank">こちら</a></li><li><strong><span class="marker-under">WinMerge（差分を見るのに便利。必須ではない）</span></strong> 　<a rel="nofollow noopener" href="https://winmergejp.bitbucket.io/" target="_blank">こちら</a></li><li><strong><span class="marker-under">OneDriveなどのクラウド</span></strong></li></ul>



<p>今回ファイルのバージョン管理するのに必要なものは、TortoiseSVNです。</p>



<p>ダウンロードしてインストールしてください。</p>



<p>インストール時の選択は基本デフォルトで大丈夫です。（アキゾラはついフルで入れたくなる人間ですがｗ）</p>



<p>GUIだけじゃなくてコマンドで操作をしたい人は、そちらのツールも入れましょう。</p>



<p>あ、日本語化したい人は、Language packsも一緒にダウンロードしておきましょう。</p>



<p>WinMergeは、ソース差分をなんかを見るときに、SVNからWinMergeで開けるので、入れておくと便利です。</p>



<p>あとは、OneDriveですね、SVNを入れるPCでOneDriveにアクセスできるようにしておきますよ。</p>



<p>　</p>



<h2 class="wp-block-heading"><span id="toc2">OneDrive上にSVNレポジトリを作成する</span></h2>



<p>では、まずOneDriveの同期フォルダ上にレポジトリを作成します。</p>



<p>OneDriveの同期フォルダは、通常「C:\Users\<em>ユーザ名</em>\OneDrive」にあるかと思います。</p>



<p>ここの中に、任意の場所でレポジトリを作ります。今回は以下にします。</p>



<pre class="wp-block-code"><code>C:\Users\<em>ユーザ名</em>\OneDrive\source\testRepos\MyApp</code></pre>



<p><strong><span class="marker-under">このフォルダは空で新規に作って</span></strong>くださいね。</p>



<p>そして、<strong><span class="marker-under">MyAppフォルダを右クリック-TortoiseSVN-Create repository here</span></strong>をクリックします。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2020/02/akizorainvest-150x150.jpg" alt="アキゾラ" class="speech-icon-image"/></figure><div class="speech-name">アキゾラ</div></div><div class="speech-balloon">
<p>TortoiseSVNがちゃんとインストール完了してれば、右クリックでTortoiseSVN関連のメニューが出るようになってますよ～。</p>
</div></div>



<figure class="wp-block-image size-large is-resized"><img fetchpriority="high" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/001_createrepos-1024x426.jpg" alt="" class="wp-image-3403" width="512" height="213" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/001_createrepos-1024x426.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/001_createrepos-300x125.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/001_createrepos-768x319.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/001_createrepos.jpg 1075w" sizes="(max-width: 512px) 100vw, 512px" /></figure>



<p>以下のダイアログが出ますので、OKで閉じてください。</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/002_createrepos.jpg" alt="" class="wp-image-3404" width="402" height="221" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/002_createrepos.jpg 804w, https://akizorainvestment.com/wp-content/uploads/2021/01/002_createrepos-300x165.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/002_createrepos-768x421.jpg 768w" sizes="(max-width: 402px) 100vw, 402px" /></figure>



<p>これで、レポジトリ作成終了です。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2020/02/akizorainvest-150x150.jpg" alt="アキゾラ" class="speech-icon-image"/></figure><div class="speech-name">アキゾラ</div></div><div class="speech-balloon">
<p>このレポジトリフォルダの中身は自分でいじらないようにしてくださいねん。</p>
</div></div>



<p>　</p>



<h2 class="wp-block-heading"><span id="toc3">SVNレポジトリにファイルをコミットする</span></h2>



<p>今作ったのは空のレポジトリです。</p>



<p>なので、ここにファイルをコミットして登録していきます。</p>



<p>今回登録するのは、Visual Studioのプロジェクトファイル一式です。</p>



<p>以下のように、プロジェクトファイル一式があるフォルダをレポジトリにコミットしてみます。</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/005_checkout-1024x670.jpg" alt="" class="wp-image-3405" width="512" height="335" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/005_checkout-1024x670.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/005_checkout-300x196.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/005_checkout-768x502.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/005_checkout-1536x1005.jpg 1536w, https://akizorainvestment.com/wp-content/uploads/2021/01/005_checkout.jpg 1729w" sizes="(max-width: 512px) 100vw, 512px" /></figure>



<h3 class="wp-block-heading"><span id="toc4">まずはこの空のSVNレポジトリをチェックアウトする</span></h3>



<p>まず、この<strong><span class="marker-under">プロジェクトファイルがあるローカルのフォルダを右クリック-SVN Checkoutをクリック</span></strong>します。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/006_checkout.jpg" alt="" class="wp-image-3406" width="458" height="122" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/006_checkout.jpg 611w, https://akizorainvestment.com/wp-content/uploads/2021/01/006_checkout-300x80.jpg 300w" sizes="(max-width: 458px) 100vw, 458px" /></figure>



<p>そして、チェックアウトダイアログで以下のように入力します。（この手順でやっていくと、ここではレポジトリURLだけ手動入力する必要があると思います）</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">チェックアウトディレクトリ</span></div><div class="label-box-content block-box-content box-content">
<pre class="wp-block-code"><code>C:\Users\<em>ユーザ名</em>\source\repos\MyApp</code></pre>



<p>自分のプロジェクトファイルのあるフォルダの絶対パスです。上記は今回の例です。</p>
</div></div>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">レポジトリURL</span></div><div class="label-box-content block-box-content box-content">
<pre class="wp-block-code"><code>file:///C:\Users\<em>ユーザ名</em>\OneDrive\source\testRepos\MyApp</code></pre>



<p><span class="marker-under-red">OneDriveの同期フォルダ上にあるSVNレポジトリのフォルダ。先頭に「file:///」をつけるのを忘れないように。</span></p>
</div></div>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/003_checkout.jpg" alt="" class="wp-image-3407" width="491" height="420" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/003_checkout.jpg 982w, https://akizorainvestment.com/wp-content/uploads/2021/01/003_checkout-300x256.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/003_checkout-768x656.jpg 768w" sizes="(max-width: 491px) 100vw, 491px" /></figure>



<p>これでOKします。</p>



<p>すると、以下のようなダイアログが出るかもしれませんが、気にせずCheckoutします。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/008_checkout.jpg" alt="" class="wp-image-3410" width="389" height="307" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/008_checkout.jpg 777w, https://akizorainvestment.com/wp-content/uploads/2021/01/008_checkout-300x237.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/008_checkout-768x606.jpg 768w" sizes="(max-width: 389px) 100vw, 389px" /></figure>



<p>こんな感じで、チェックアウトが終了します。</p>



<p><strong><span class="marker-under">レポジトリはまだ空なので、ローカルにあるファイルは何も影響を受けませんよ。</span></strong></p>



<h3 class="wp-block-heading"><span id="toc5">SVNレポジトリにコミットする</span></h3>



<p>次に、このローカルのMyAppフォルダにあるファイルをOneDrive上のSVNレポジトリへ一式コミットします。</p>



<p><strong><span class="marker-under">ローカルのMyAppフォルダを右クリック-SVN </span><span class="marker-under">Commit</span></strong>をクリックします。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/009_checkout.jpg" alt="" class="wp-image-3411" width="469" height="132" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/009_checkout.jpg 625w, https://akizorainvestment.com/wp-content/uploads/2021/01/009_checkout-300x84.jpg 300w" sizes="(max-width: 469px) 100vw, 469px" /></figure>



<p>すると、以下のダイアログが出ます。</p>



<p>コミット先はOneDrive上(の同期フォルダ)になってますね。コミットするときになんかコメントというか、メッセージいれられますのでお好きなように。</p>



<p>下部の窓でコミットするファイルを選択することができます。</p>



<p>管理不要なファイルはコミットしないようにしたほうがいいと思います。（今回はめんどくさいのでALLで全てのファイルにチェックを入れています）</p>



<p>問題なければ、OKを押します。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/010_commit-979x1024.jpg" alt="" class="wp-image-3412" width="734" height="768" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/010_commit-979x1024.jpg 979w, https://akizorainvestment.com/wp-content/uploads/2021/01/010_commit-287x300.jpg 287w, https://akizorainvestment.com/wp-content/uploads/2021/01/010_commit-768x804.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/010_commit.jpg 1298w" sizes="(max-width: 734px) 100vw, 734px" /></figure>



<p>すると、こんな感じでコミット完了します。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/011_commit-1024x476.jpg" alt="" class="wp-image-3413" width="768" height="357" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/011_commit-1024x476.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/011_commit-300x140.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/011_commit-768x357.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/011_commit.jpg 1415w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>これで、OneDrive上のSVNレポジトリにコミットできました。</p>



<p>　</p>



<h3 class="wp-block-heading"><span id="toc6">SVNレポジトリブラウザでコミットしたファイルを確認してみる</span></h3>



<p>ちゃんとSVNのレポジトリにコミットできたのか、確認してみます。</p>



<p><strong><span class="marker-under">ローカルのMyAppフォルダを右クリック-<strong>TortoiseSVN-</strong>Repo-browser</span></strong>をクリックします。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/012_commit-923x1024.jpg" alt="" class="wp-image-3415" width="692" height="768" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/012_commit-923x1024.jpg 923w, https://akizorainvestment.com/wp-content/uploads/2021/01/012_commit-270x300.jpg 270w, https://akizorainvestment.com/wp-content/uploads/2021/01/012_commit-768x852.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/012_commit.jpg 1079w" sizes="(max-width: 692px) 100vw, 692px" /></figure>



<p>以下のダイアログが表示されます。</p>



<p>ここに、ファイルが表示されていますね。</p>



<p>これでOneDrive上のSVNレポジトリにコミットできてることがわかります。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/013_commit-1024x811.jpg" alt="" class="wp-image-3434" width="768" height="608" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/013_commit-1024x811.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/013_commit-300x237.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/013_commit-768x608.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/013_commit.jpg 1353w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>　</p>



<h2 class="wp-block-heading"><span id="toc7">OneDrive上のSVNレポジトリにローカルで変更したファイルをコミットする</span></h2>



<p>ローカルで編集したファイルをOneDrive上のレポジトリにコミットしてみます。</p>



<p><strong><span class="marker-under">ローカルのMyAppフォルダを右クリック-TortoiseSVN-Check for modifications</span>をクリック。</strong></p>



<p>（多分日本語だと、変更をチェック、みたいなやつです）</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/014_commit-951x1024.jpg" alt="" class="wp-image-3419" width="476" height="512" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/014_commit-951x1024.jpg 951w, https://akizorainvestment.com/wp-content/uploads/2021/01/014_commit-279x300.jpg 279w, https://akizorainvestment.com/wp-content/uploads/2021/01/014_commit-768x827.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/014_commit.jpg 1097w" sizes="(max-width: 476px) 100vw, 476px" /></figure>



<p>すると、そのフォルダ下全てでレポジトリ上のファイルと変更のあるものがわかります。（青字のやつですね）</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/015_commit-1024x537.jpg" alt="" class="wp-image-3420" width="768" height="403" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/015_commit-1024x537.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/015_commit-300x157.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/015_commit-768x402.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/015_commit-1536x805.jpg 1536w, https://akizorainvestment.com/wp-content/uploads/2021/01/015_commit.jpg 1788w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2020/02/akizorainvest-150x150.jpg" alt="アキゾラ" class="speech-icon-image"/></figure><div class="speech-name">アキゾラ</div></div><div class="speech-balloon">
<p>MyApp.cppだけ変更したんだけど、なんかVCのファイルにも変更でちゃったわｗてかこれファイル管理する必要ないやつかも。</p>



<p>とりあえず無視しますｗ</p>
</div></div>



<p>青字で変更が出ているMyApp.cppをダブルクリックすると、WinMergeで差分表示されますよ。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/016_commit-1024x703.jpg" alt="" class="wp-image-3421" width="768" height="527" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/016_commit-1024x703.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/016_commit-300x206.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/016_commit-768x528.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/016_commit-1536x1055.jpg 1536w, https://akizorainvestment.com/wp-content/uploads/2021/01/016_commit-2048x1407.jpg 2048w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>差分を確認して、問題なかったら、WinMergeの画面は閉じて、元のダイアログでMyApp.cppを右クリックして、Commitを行います。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/017_commit-1024x528.jpg" alt="" class="wp-image-3422" width="768" height="396" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/017_commit-1024x528.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/017_commit-300x155.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/017_commit-768x396.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/017_commit.jpg 1138w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>するとコミット画面になりますので、任意でコメントを入れて、OKをクリックしてコミットします。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/018_commit-1-1024x838.jpg" alt="" class="wp-image-3424" width="768" height="629" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/018_commit-1-1024x838.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/018_commit-1-300x245.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/018_commit-1-768x628.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/018_commit-1.jpg 1307w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>コミットできましたー。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/019_commit-1024x476.jpg" alt="" class="wp-image-3425" width="768" height="357" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/019_commit-1024x476.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/019_commit-300x140.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/019_commit-768x357.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/019_commit.jpg 1415w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>　</p>



<h2 class="wp-block-heading"><span id="toc8">SVNレポジトリに対する操作ログを表示してみる</span></h2>



<p>コミット履歴などはログから確認できますので、確認してみましょう。</p>



<p><strong><span class="marker-under">ローカルのMyAppフォルダを右クリック-TortoiseSVN-Show log</span>をクリック。</strong></p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/020_showlog-933x1024.jpg" alt="" class="wp-image-3427" width="700" height="768" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/020_showlog-933x1024.jpg 933w, https://akizorainvestment.com/wp-content/uploads/2021/01/020_showlog-273x300.jpg 273w, https://akizorainvestment.com/wp-content/uploads/2021/01/020_showlog-768x843.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/020_showlog.jpg 1091w" sizes="(max-width: 700px) 100vw, 700px" /></figure>



<p>ここで、これまでのコミット履歴が見れます。MyApp.cppのコミットありますね。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/021_showlog-1024x927.jpg" alt="" class="wp-image-3428" width="765" height="692" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/021_showlog-1024x927.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/021_showlog-300x272.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/021_showlog-768x695.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/021_showlog.jpg 1372w" sizes="(max-width: 765px) 100vw, 765px" /></figure>



<p>下部の窓に、選択中のRevisionでの変更ファイルが表示されます。ファイル名をダブルクリックすると、このコミットでの変更差分も見られます。以下が出るよ。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/016_commit-1024x703.jpg" alt="" class="wp-image-3421" width="768" height="527" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/016_commit-1024x703.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/016_commit-300x206.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/016_commit-768x528.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/016_commit-1536x1055.jpg 1536w, https://akizorainvestment.com/wp-content/uploads/2021/01/016_commit-2048x1407.jpg 2048w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>　</p>



<h2 class="wp-block-heading"><span id="toc9">他の場所（他のPC）でレポジトリをチェックアウトする</span></h2>



<p>せっかくOneDriveを使っているので、この今コミットを行ったPCではなくて、他のPCでちゃんとこのレポジトリからチェックアウトできるのか、やってみます。</p>



<p>他のPCといっても、<strong><span class="marker-under">こちらもOneDriveでアクセスできるようになっていること、そして<strong>TortoiseSVN</strong>がインストールされていることが前提</span></strong>ですよ。</p>



<p>他のPCで適当な場所に空のフォルダを作ります。</p>



<p>ここでは、以下にしました。</p>



<pre class="wp-block-code"><code>C:\tmp\MyApp</code></pre>



<p><strong><span class="marker-under">このフォルダを右クリック-SVN Checkoutをクリック</span></strong>します。</p>



<p>すると、以下のダイアログが出ますので、<strong><span class="marker-under">レポジトリURLを先ほどと同じようにOneDrive同期フォルダのSVNレポジトリの場所に指定</span></strong>します。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/022_anotherPC_checkout.jpg" alt="" class="wp-image-3438" width="737" height="629" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/022_anotherPC_checkout.jpg 982w, https://akizorainvestment.com/wp-content/uploads/2021/01/022_anotherPC_checkout-300x256.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/022_anotherPC_checkout-768x656.jpg 768w" sizes="(max-width: 737px) 100vw, 737px" /></figure>



<p>これでOKを押しましょう、すると以下のようにチェックアウトできます。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/023_anotherPC_checkout-1024x474.jpg" alt="" class="wp-image-3439" width="768" height="356" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/023_anotherPC_checkout-1024x474.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/023_anotherPC_checkout-300x139.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/023_anotherPC_checkout-768x355.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/023_anotherPC_checkout.jpg 1420w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>ちなみに、OneDriveの同期フォルダを常時同期しないようにしている場合でも、この操作をする時には自動的に同期されるみたいです。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/024_anotherPC_checkout.jpg" alt="" class="wp-image-3440" width="363" height="259" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/024_anotherPC_checkout.jpg 725w, https://akizorainvestment.com/wp-content/uploads/2021/01/024_anotherPC_checkout-300x214.jpg 300w" sizes="(max-width: 363px) 100vw, 363px" /></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2020/02/akizorainvest-150x150.jpg" alt="アキゾラ" class="speech-icon-image"/></figure><div class="speech-name">アキゾラ</div></div><div class="speech-balloon">
<p>これは地味に便利ですね！（まぁそういうものかｗ）</p>
</div></div>



<p>そして、ファイルはちゃんとチェックアウトできています。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/025_anotherPC_checkout-1024x620.jpg" alt="" class="wp-image-3441" width="768" height="465" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/025_anotherPC_checkout-1024x620.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/025_anotherPC_checkout-300x182.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/025_anotherPC_checkout-768x465.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/025_anotherPC_checkout-1536x931.jpg 1536w, https://akizorainvestment.com/wp-content/uploads/2021/01/025_anotherPC_checkout.jpg 1893w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<h2 class="wp-block-heading"><span id="toc10">レポジトリのファイルでローカルフォルダを更新する</span></h2>



<p>お次に、レポジトリからファイルの更新をやってみます。</p>



<p>PC1でファイルを変更してSVNにコミット、その変更をPC2で取得するみたいなイメージですね。</p>



<p>これは簡単です。</p>



<p><strong><span class="marker-under">更新をかけたいローカルのフォルダを右クリック-SVN update</span></strong>で更新します。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/007_checkout.jpg" alt="" class="wp-image-3409" width="484" height="151" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/007_checkout.jpg 645w, https://akizorainvestment.com/wp-content/uploads/2021/01/007_checkout-300x93.jpg 300w" sizes="(max-width: 484px) 100vw, 484px" /></figure>



<p>すると、このように変更があればアップデートされます。（何も変更がなければ何も変更されません）</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/026_svnupdate-1024x476.jpg" alt="" class="wp-image-3445" width="768" height="357" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/026_svnupdate-1024x476.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/026_svnupdate-300x140.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/026_svnupdate-768x357.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/026_svnupdate.jpg 1415w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>上の画像のShow log&#8230;ボタンを押すと、ログが表示されます。今回取り込んだ変更は、下記のRevision 3ですね。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/027_svnupdate-1024x927.jpg" alt="" class="wp-image-3446" width="768" height="695" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/027_svnupdate-1024x927.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/027_svnupdate-300x272.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/027_svnupdate-768x695.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/027_svnupdate.jpg 1372w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>ちなみに、このローカルのフォルダは不要になったら削除しても大丈夫です、レポジトリには影響ありません。</p>



<p>OneDrive上のレポジトリにファイルがありますので、必要になったらここからチェックアウトすればOKです。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2020/02/akizorainvest-150x150.jpg" alt="アキゾラ" class="speech-icon-image"/></figure><div class="speech-name">アキゾラ</div></div><div class="speech-balloon">
<p>その代わり、OneDrive上のレポジトリは消しちゃだめですｗ</p>
</div></div>



<p>　</p>



<h2 class="wp-block-heading"><span id="toc11">レポジトリから古いレビジョンのファイルを取得する</span></h2>



<p>保存してコミットもしたけど、前のあの時点のファイルが欲しいなぁとか、前のファイルに戻したいなぁと思うこともありますよね。</p>



<p><strong><span class="marker-under">SVNはバージョン管理ソフトですから、特定のレビジョンのファイルを取得することが簡単です</span></strong>。</p>



<p>特定のリビジョンのファイルの取り方はいろいろあるのですが、ローカルのチェックアウトしたフォルダでそのまま取得する方法をご紹介します。</p>



<p>まずは、取得したいレビジョンを確認するため、ローカルのチェックアウトフォルダにある、<strong><span class="marker-under">特定のリビジョンが欲しいファイルを右クリック-TortoiseSVN-Show logでログを表示</span></strong>します。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2020/02/akizorainvest-150x150.jpg" alt="アキゾラ" class="speech-icon-image"/></figure><div class="speech-name">アキゾラ</div></div><div class="speech-balloon">
<p>ここでは、MyApp.cppファイルでやってみます。</p>
</div></div>



<p>以下のような感じで、このファイル自体の変更履歴が見れます。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/028_getspecificrev-1024x927.jpg" alt="" class="wp-image-3458" width="768" height="695" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/028_getspecificrev-1024x927.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/028_getspecificrev-300x272.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/028_getspecificrev-768x695.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/028_getspecificrev.jpg 1372w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>この中で、<strong><span class="marker-under">Revision 1のファイルが欲しいなぁと思ったら、Revision 1にフォーカスを当てて右クリック-Update item to revisonをクリック</span></strong>。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/029_getspecificrev-1024x932.jpg" alt="" class="wp-image-3459" width="768" height="699" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/029_getspecificrev-1024x932.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/029_getspecificrev-300x273.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/029_getspecificrev-768x699.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/029_getspecificrev.jpg 1363w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>すると、以下のようにローカルのMyApp.cppファイルがRevision 1でアップデートされます。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/030_getspecificrev-1024x476.jpg" alt="" class="wp-image-3460" width="768" height="357" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/030_getspecificrev-1024x476.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/030_getspecificrev-300x140.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/030_getspecificrev-768x357.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/030_getspecificrev.jpg 1415w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>これでローカルのMyApp.cppファイルの中身を確認すると、Revision 2、3で入れた変更はなくなっています。ちゃんとRevision 1のファイルが取得できました。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2020/02/akizorainvest-150x150.jpg" alt="アキゾラ" class="speech-icon-image"/></figure><div class="speech-name">アキゾラ</div></div><div class="speech-balloon">
<p>この状態では、レポジトリの最新はRevision 3のままで変わらないから、この状態でSVN updateしたら、MyApp.cppはまたRevision 3にアップデートされるよ。</p>



<p>　</p>



<p>また、これは特定のファイルでやったけど、フォルダ全体とかでもできます。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc12">まとめ</span></h2>



<p>OneDrive上にSVNレポジトリを作成してファイルを管理する方法メモ、でした。</p>



<p>SVNはもっと色々な機能がありますが、まずはこのあたりの基本的な操作ができればまぁ使えると思います。</p>



<p>OneDriveなどを使うことで、自宅でも簡単に疑似ファイルサーバみたいな感じで使えるのはけっこいいなぁなんて思っています。</p>



<p>そのうち、他のSVN操作についても書くかもしれませんが、まぁこの辺でｗ</p>



<p>一応、SVNの使い方っていうより、OneDriveでレポジトリってところに重きを置いていたんだけど、ただの入門講座みたいになった感は否めないｗ</p>



<p>ではでは！</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://akizorainvestment.com/2021/01/03/svn-repos-one-drive/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Visual Studio 2019でARM64アプリ(C++アプリ)のリモートデバッグをする手順メモ</title>
		<link>https://akizorainvestment.com/2021/01/02/visual-studio-2019-arm64-debug/</link>
					<comments>https://akizorainvestment.com/2021/01/02/visual-studio-2019-arm64-debug/#respond</comments>
		
		<dc:creator><![CDATA[アキゾラ]]></dc:creator>
		<pubDate>Sat, 02 Jan 2021 03:56:21 +0000</pubDate>
				<category><![CDATA[プログラマ]]></category>
		<category><![CDATA[ARM64]]></category>
		<category><![CDATA[Surface Pro X]]></category>
		<category><![CDATA[技術メモ]]></category>
		<guid isPermaLink="false">https://akizorainvestment.com/?p=3362</guid>

					<description><![CDATA[こんにちは、アキゾラです。 今日はVisual Studio 2019でARM64ネイティブアプリのリモートデバッグをしてみます。 ARM64上でVisual Studio 2019は一応（一部？）動作するのですが、デバ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>こんにちは、アキゾラです。</p>



<p>今日は<strong><span class="marker-under">Visual Studio 2019でARM64ネイティブアプリのリモートデバッグ</span></strong>をしてみます。</p>



<p>ARM64上でVisual Studio 2019は一応（一部？）動作するのですが、デバッグはリモートデバッグしかできないのかな？</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2020/02/akizorainvest-150x150.jpg" alt="アキゾラ" class="speech-icon-image"/></figure><div class="speech-name">アキゾラ</div></div><div class="speech-balloon">
<p>（ノリでARM64上でVS使ってデバッグやったら失敗したょ）</p>
</div></div>



<p>リモートデバッグでちゃんとデバッグできたんで、その手順をメモっておきます。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">アキゾラの環境</span></div><div class="label-box-content block-box-content box-content">
<p>Visual Studio 2019が入っている側のx64マシン：Surface Book、Windows 10 Pro(x64)</p>



<p>リモートデバッグされる側のARM64マシン：Surface Pro X、Windows 10 Pro(ARM64)</p>
</div></div>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">参考元（Microsoft公式）</span></div><div class="label-box-content block-box-content box-content">
<p><a rel="nofollow noopener" href="https://docs.microsoft.com/ja-jp/windows-hardware/drivers/debugger/debugging-arm64" target="_blank">ARM64 でのデバッグ</a></p>



<p><a rel="nofollow noopener" href="https://docs.microsoft.com/ja-jp/visualstudio/debugger/remote-debugging?view=vs-2019" target="_blank">Remote Debugging</a></p>
</div></div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Visual Studio 2019でARM64アプリをリモートデバッグするのに必要なもの</a><ol><li><a href="#toc2" tabindex="0">Visual Studioを動作させるマシン側</a></li><li><a href="#toc3" tabindex="0">リモートデバッグされる側のARM64マシン側</a></li></ol></li><li><a href="#toc4" tabindex="0">ARM64マシン上で、リモートデバッグできるようにする</a></li><li><a href="#toc5" tabindex="0">Visual Studio 2019でARM64版のビルド、リモートデバッグができるようにする</a><ol><li><a href="#toc6" tabindex="0">Visual Studio 2019でARM64版のビルドをできるようにする</a></li><li><a href="#toc7" tabindex="0">Visual Studio 2019でARM64版のリモートデバッグをできるようにする</a></li></ol></li><li><a href="#toc8" tabindex="0">Visual Studio 2019でARM64アプリのリモートデバッグをする</a></li><li><a href="#toc9" tabindex="0">余談：x86アプリをARM64上でデバッグするには？</a></li><li><a href="#toc10" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Visual Studio 2019でARM64アプリをリモートデバッグするのに必要なもの</span></h2>



<h3 class="wp-block-heading"><span id="toc2">Visual Studioを動作させるマシン側</span></h3>



<p>必要なものは、以下。</p>



<ul class="wp-block-list"><li><strong><span class="marker-under">Visual Studio 2019</span></strong> <a rel="noopener" href="https://visualstudio.microsoft.com/ja/downloads/" target="_blank">こちら</a></li><li><strong><span class="marker-under">Windows SDK(バージョン10.0.16299 以降)</span></strong> <a rel="noopener" href="https://developer.microsoft.com/ja-jp/windows/downloads/windows-10-sdk/" target="_blank">こちら</a></li></ul>



<p>C++で、Visual Studio 2019を使用してARM64のデバッグを行う場合は、これだけで大丈夫だと思います。</p>



<p>Visual Studio 2019については、まぁこのページ見ている方は入っているかと思います。</p>



<p>無い方は、<a rel="nofollow noopener" href="https://visualstudio.microsoft.com/ja/downloads/" target="_blank">こちら</a>から無償版手に入れることができます。</p>



<p>Windows SDKも、入れてない場合は<a rel="nofollow noopener" href="https://developer.microsoft.com/ja-jp/windows/downloads/windows-10-sdk/" target="_blank">こちら</a>からダウンロードできます。</p>



<h3 class="wp-block-heading"><span id="toc3">リモートデバッグされる側のARM64マシン側</span></h3>



<p>必要なものは、以下。</p>



<ul class="wp-block-list"><li><strong><span class="marker-under">Remote Tools for Visual Studio 2019</span></strong> <a rel="nofollow noopener" href="https://visualstudio.microsoft.com/ja/downloads/" target="_blank" title="https://visualstudio.microsoft.com/ja/downloads/">こちら</a></li><li><strong><span class="marker-under">Visual Studio 2019 の Microsoft Visual C++ 再頒布可能パッケージ</span></strong> <a rel="noopener" href="https://visualstudio.microsoft.com/ja/downloads/" target="_blank">こちら</a></li></ul>



<p>ARM64側のマシンには、Visual Studio 2019のリモートデバッグツールが必要になります。</p>



<p><span class="marker-under">アーキテクチャは、ARM64のものをダウンロード</span>します。</p>



<p>ダウンロードしたら、インストールしておいてください。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/001_remotedebugtool.jpg" alt="" class="wp-image-3364" width="319" height="200" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/001_remotedebugtool.jpg 638w, https://akizorainvestment.com/wp-content/uploads/2021/01/001_remotedebugtool-300x188.jpg 300w" sizes="(max-width: 319px) 100vw, 319px" /></figure>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/002_remotedebugtool.jpg" alt="" class="wp-image-3365" width="319" height="200" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/002_remotedebugtool.jpg 638w, https://akizorainvestment.com/wp-content/uploads/2021/01/002_remotedebugtool-300x188.jpg 300w" sizes="(max-width: 319px) 100vw, 319px" /></figure>



<p><span class="marker-under">Visual Studio 2019 の Microsoft Visual C++ 再頒布可能パッケージも、ARM64版のものを入れておきましょう。</span></p>



<p>これについては、デバッグ云々というより、Visual Studioで作ったアプリを動作させるために必要になったりするので、入れておきましょっていうノリです。</p>



<h2 class="wp-block-heading"><span id="toc4">ARM64マシン上で、リモートデバッグできるようにする</span></h2>



<p>ARM64上で、リモートデバッグできるようにしていきます。</p>



<p>インストールしたRemote Tools for Visual Studio 2019をスタートメニューから起動します。一応、管理者権限で起動したほうがいいかと。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/003_remotedebuggersetup-551x1024.jpg" alt="" class="wp-image-3369" width="276" height="512" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/003_remotedebuggersetup-551x1024.jpg 551w, https://akizorainvestment.com/wp-content/uploads/2021/01/003_remotedebuggersetup-161x300.jpg 161w, https://akizorainvestment.com/wp-content/uploads/2021/01/003_remotedebuggersetup.jpg 636w" sizes="(max-width: 276px) 100vw, 276px" /></figure>



<p>初回起動時は、以下の画面が開きます。（英語版ですみません）</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/004_remotedebuggersetup.jpg" alt="" class="wp-image-3370" width="425" height="421" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/004_remotedebuggersetup.jpg 850w, https://akizorainvestment.com/wp-content/uploads/2021/01/004_remotedebuggersetup-300x297.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/004_remotedebuggersetup-150x150.jpg 150w, https://akizorainvestment.com/wp-content/uploads/2021/01/004_remotedebuggersetup-768x760.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/004_remotedebuggersetup-100x100.jpg 100w, https://akizorainvestment.com/wp-content/uploads/2021/01/004_remotedebuggersetup-45x45.jpg 45w" sizes="(max-width: 425px) 100vw, 425px" /></figure>



<p>この状態で、「Configure remote debugging」で起動します。以下のような画面になればOKです。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/005_remotedebugger-1024x347.jpg" alt="" class="wp-image-3371" width="768" height="260" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/005_remotedebugger-1024x347.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/005_remotedebugger-300x102.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/005_remotedebugger-768x261.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/005_remotedebugger.jpg 1394w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>ここに表示される、「<strong><span class="marker-under"><em>マシン名</em>:<em>ポート番号</em>」のところ（上の画像の黒塗りのところらへん）が、リモートデバッグで接続に使用する情報</span></strong>です。</p>



<p>これで、ARM64マシン側は準備が整いました。</p>



<p>とりあえず、このままにしておき、Visual Studio 2019が入っている側のマシンに向かいます。</p>



<p>ちなみに、デバッグが終わって終了するときは、Remote Debuggerツールを終了すればOKです。</p>



<p>今後、リモートデバッグするときは、ARM64マシン側で最初にこれを起動しておきます。</p>



<p>次回起動からは、最初のConfigurationの画面は出なくなります。</p>



<p>　</p>



<h2 class="wp-block-heading"><span id="toc5">Visual Studio 2019でARM64版のビルド、リモートデバッグができるようにする</span></h2>



<h3 class="wp-block-heading"><span id="toc6">Visual Studio 2019でARM64版のビルドをできるようにする</span></h3>



<p>まず、ARM64版のビルドができるようにします。</p>



<p>Visual Studio 2019で、自分がデバッグしたい（ARM64で動かしたい）アプリのソリューションを開き、Debugのところで、新しい構成を作ります。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/008_debugsetting.jpg" alt="" class="wp-image-3366" width="572" height="218" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/008_debugsetting.jpg 762w, https://akizorainvestment.com/wp-content/uploads/2021/01/008_debugsetting-300x114.jpg 300w" sizes="(max-width: 572px) 100vw, 572px" /></figure>



<p>Active solution platformのところで、&lt;New&#8230;&gt;を選んでください。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/009_debugsetting-1024x749.jpg" alt="" class="wp-image-3367" width="768" height="562" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/009_debugsetting-1024x749.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/009_debugsetting-300x220.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/009_debugsetting-768x562.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/009_debugsetting.jpg 1204w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>ARM64があるはずなので、それを選びます。コピー元はx64でいいはずです。</p>



<p>以下のように設定して、OKします。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/010_debugsetting.jpg" alt="" class="wp-image-3368" width="431" height="329" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/010_debugsetting.jpg 574w, https://akizorainvestment.com/wp-content/uploads/2021/01/010_debugsetting-300x229.jpg 300w" sizes="(max-width: 431px) 100vw, 431px" /></figure>



<p>これで、ARM64版のビルドはできるようになりました。Release版もできてますね。</p>



<p>一発ビルドしてコンパイル通ることを確認しましょう。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2020/02/akizorainvest-150x150.jpg" alt="アキゾラ" class="speech-icon-image"/></figure><div class="speech-name">アキゾラ</div></div><div class="speech-balloon">
<p>これで問題なければ楽ちんなんですが、問題出てくると、うん。頑張れって感じになりますね。</p>
</div></div>



<h4 class="wp-block-heading">プラットフォームにARM64が出ない場合</h4>



<p>ARM64用のビルドツールがインストール済みか確認しましょう。入ってなかったら入れてください。</p>



<p>スタートメニューからVisual Studio Installerを起動します。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/001.jpg" alt="" class="wp-image-3479" width="404" height="218" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/001.jpg 538w, https://akizorainvestment.com/wp-content/uploads/2021/01/001-300x162.jpg 300w" sizes="(max-width: 404px) 100vw, 404px" /></figure>



<p>以下のModifyをクリックします。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/002-1-1024x380.jpg" alt="" class="wp-image-3480" width="768" height="285" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/002-1-1024x380.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/002-1-300x111.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/002-1-768x285.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/002-1.jpg 1499w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>Desktop development with C++にチェックがあることを確認して（チェックがなかったら入れる）</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="572" src="https://akizorainvestment.com/wp-content/uploads/2021/01/003-1-1024x572.jpg" alt="" class="wp-image-3481" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/003-1-1024x572.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/003-1-300x167.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/003-1-768x429.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/003-1-1536x857.jpg 1536w, https://akizorainvestment.com/wp-content/uploads/2021/01/003-1-2048x1143.jpg 2048w, https://akizorainvestment.com/wp-content/uploads/2021/01/003-1-120x68.jpg 120w, https://akizorainvestment.com/wp-content/uploads/2021/01/003-1-160x90.jpg 160w, https://akizorainvestment.com/wp-content/uploads/2021/01/003-1-320x180.jpg 320w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Indivisual componentsタブで、Compilers, build tools, and runtimesの欄にある、ARM64用のビルドツールが入っていることを確認。なかったらチェックを入れてインストールします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="572" src="https://akizorainvestment.com/wp-content/uploads/2021/01/004-1-1024x572.jpg" alt="" class="wp-image-3482" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/004-1-1024x572.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/004-1-300x167.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/004-1-768x429.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/004-1-1536x857.jpg 1536w, https://akizorainvestment.com/wp-content/uploads/2021/01/004-1-2048x1143.jpg 2048w, https://akizorainvestment.com/wp-content/uploads/2021/01/004-1-120x68.jpg 120w, https://akizorainvestment.com/wp-content/uploads/2021/01/004-1-160x90.jpg 160w, https://akizorainvestment.com/wp-content/uploads/2021/01/004-1-320x180.jpg 320w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading"><span id="toc7">Visual Studio 2019でARM64版のリモートデバッグをできるようにする</span></h3>



<p>次は、リモートデバッグの設定です。</p>



<p>今回、デバッグするアプリは「MyApp.exe」、ARM64マシンの「C:¥tool¥MyApp¥」上でリモートデバッグすることにします。</p>



<p>ディレクトリ名、ファイル名などこの設定になっています。この辺りは適宜ご自分の環境で読み替えてください。</p>



<p>以下から、ARM64版のリモートデバッグの設定を行います。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/012_debugsetting.jpg" alt="" class="wp-image-3372" width="648" height="213" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/012_debugsetting.jpg 864w, https://akizorainvestment.com/wp-content/uploads/2021/01/012_debugsetting-300x99.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/012_debugsetting-768x252.jpg 768w" sizes="(max-width: 648px) 100vw, 648px" /></figure>



<p>Debuggingのところで、以下のように設定します。（英語ですが、日本語版の方は何となく読み替えでいけるかと）</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/013_debugsetting-1024x707.jpg" alt="" class="wp-image-3373" width="768" height="530" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/013_debugsetting-1024x707.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/013_debugsetting-300x207.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/013_debugsetting-768x530.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/013_debugsetting-1536x1060.jpg 1536w, https://akizorainvestment.com/wp-content/uploads/2021/01/013_debugsetting.jpg 1578w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<ul class="wp-block-list"><li><span class="marker-under">Remote Commad：ARM64マシン上で起動時に指示するコマンド。</span></li><li><span class="marker-under">Working Directory：作業ディレクトリ、通常アプリが動くディレクトリですね。Deployment Directory参照。</span></li><li><span class="marker-under">Remote Server Name：ここで、ARM64上のリモートデバッガで示された「<em>マシン名</em>:<em>ポート番号</em>」を指定します。</span></li><li><span class="marker-under">Deployment Directory：Visual Studio 2019からファイルコピー（デプロイ）するんですが、そのディレクトリです。通常作業ディレクトリと一緒かな。</span></li></ul>



<p>こんな感じです。ランタイム ライブラリとかもデプロイしたい場合は、該当項目をYESにすればOKですかね。</p>



<p>あと、追加でファイルの配置もできるみたいなんで、それが必要な場合はそこも活用してください。</p>



<p>この画面はApplyしてOKで閉じます。</p>



<p>ここまでできたら、もう一度デバッガの構成の設定のところを開いて、「Deploy」にチェックを入れます。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/014_debugsetting-1024x749.jpg" alt="" class="wp-image-3374" width="768" height="562" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/014_debugsetting-1024x749.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/014_debugsetting-300x220.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/014_debugsetting-768x562.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/014_debugsetting.jpg 1204w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>はい、これで準備完了です。</p>



<p>　</p>



<h2 class="wp-block-heading"><span id="toc8">Visual Studio 2019でARM64アプリのリモートデバッグをする</span></h2>



<p>では、さっそくリモートデバッグしてみます。</p>



<p>Visual Studio 2019で、Remote Windows Debbgerでデバッグ起動してみます。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/016_debug.jpg" alt="" class="wp-image-3375" width="574" height="137" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/016_debug.jpg 765w, https://akizorainvestment.com/wp-content/uploads/2021/01/016_debug-300x71.jpg 300w" sizes="(max-width: 574px) 100vw, 574px" /></figure>



<p>この時、認証ダイアログが出たら、接続先のARM64マシンにログオンできる情報で入ります。</p>



<p>すると、、、以下のようにARM64マシン側の指定したディレクトリに必要なファイルが配置されます。（ディレクトリが存在しなければ作成されます）</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/017_app_on_arm64-1024x818.jpg" alt="" class="wp-image-3376" width="768" height="614" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/017_app_on_arm64-1024x818.jpg 1024w, https://akizorainvestment.com/wp-content/uploads/2021/01/017_app_on_arm64-300x240.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/017_app_on_arm64-768x614.jpg 768w, https://akizorainvestment.com/wp-content/uploads/2021/01/017_app_on_arm64.jpg 1190w" sizes="(max-width: 768px) 100vw, 768px" /><figcaption>ARM64のSurface Pro X側にファイルがデプロイされる</figcaption></figure>



<p>そして、アプリもARM64上で起動しました。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://akizorainvestment.com/wp-content/uploads/2021/01/015_app_on_arm64.jpg" alt="" class="wp-image-3377" width="482" height="244" srcset="https://akizorainvestment.com/wp-content/uploads/2021/01/015_app_on_arm64.jpg 964w, https://akizorainvestment.com/wp-content/uploads/2021/01/015_app_on_arm64-300x152.jpg 300w, https://akizorainvestment.com/wp-content/uploads/2021/01/015_app_on_arm64-768x389.jpg 768w" sizes="(max-width: 482px) 100vw, 482px" /><figcaption>ARM64上で起動したARM64アプリ</figcaption></figure>



<p>MyAppは中身のない適当すぎアプリですがｗ</p>



<p>Visual Studio 2019でちゃんとステップ実行などできます。</p>



<p>ブレークポイントなどもOK、ちょっとやってみた感じでは普通にデバッグできる感じです。</p>



<p>　</p>



<h2 class="wp-block-heading"><span id="toc9">余談：x86アプリをARM64上でデバッグするには？</span></h2>



<p>これは、Visual Studio 2019がARM64上にインストールできるので、そこでそのままデバッグできるっちゃできます（一応できました）。</p>



<p>ただ、結構遅い（重い）です。</p>



<p>x86アプリも、同じような感じでリモートデバッグできるかもしれません。未確認です。</p>



<p>　</p>



<h2 class="wp-block-heading"><span id="toc10">まとめ</span></h2>



<p>Visual Studio 2019でARM64アプリ(C++アプリ)のリモートデバッグをする手順メモ、でした。</p>



<p>ARM64アプリをVisual Studioで作る場合の参考になれば。</p>



<p>ではでは！</p>



<!-- START MoshimoAffiliateEasyLink --><script type="text/javascript">(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName("body")[0],e.appendChild(d))})(window,document,"script","//dn.msmstatic.com/site/cardlink/bundle.js","msmaflink");msmaflink({"n":"VisualC++2019パーフェクトマスター (Perfect Master)","b":"秀和システム","t":"","d":"https:\/\/m.media-amazon.com","c_p":"","p":["\/images\/I\/51kmBWKIijL.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/4798059854","t":"amazon","r_v":""},"aid":{"amazon":"1525353","rakuten":"1525351","yahoo":"1753442"},"eid":"IJGsf","s":"s"});</script><div id="msmaflink-IJGsf">リンク</div><!-- MoshimoAffiliateEasyLink END -->



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://akizorainvestment.com/2021/01/02/visual-studio-2019-arm64-debug/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
