Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google Chrome の開発者ツールで C# コードをデバッグできるって知ってました?
Search
jsakamoto
June 07, 2026
Programming
86
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Google Chrome の開発者ツールで C# コードをデバッグできるって知ってました?
フロントエンド・PHPカンファレンス北海道2026 (
https://frontend-php-con.hokkaido.jp/
) での発表資料です。
jsakamoto
June 07, 2026
More Decks by jsakamoto
See All by jsakamoto
WebMCPを試してみました
jsakamoto
0
26
VRT in Blazor App Dev - .NET Lab 2026 Jul LT
jsakamoto
0
62
useEffect は使いたくないのですが、ではどうしたらいいですか
jsakamoto
1
120
開発したプレゼン用ツールが15年経っても誰も使ってくれない話
jsakamoto
0
100
UI コンポーネントカタログに MCP サーバー機能を追加する試み、そしてその結果
jsakamoto
1
130
いいね が燃料! 「自分のOSS」で1億ダウンロード突破の開発者が語る OSS 開発のリアル
jsakamoto
0
260
minify の効果を最大限に引き出す TypeScript コードを書く
jsakamoto
2
390
JavaScript 以外の言語によるフロントエンド Web 開発が既に実用段階である話
jsakamoto
0
2.9k
ベクトル化を使った意味検索を、簡単にアプリケーションに搭載できる時代になっていた件。
jsakamoto
2
420
Other Decks in Programming
See All in Programming
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
680
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
150
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
240
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
860
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.5k
継続モナドとリアクティブプログラミング
yukikurage
3
610
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
130
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.1k
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
780
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.5k
Featured
See All Featured
Faster Mobile Websites
deanohume
310
32k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
Are puppies a ranking factor?
jonoalderson
1
3.7k
Balancing Empowerment & Direction
lara
6
1.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
Designing for Timeless Needs
cassininazir
1
370
New Earth Scene 8
popppiees
3
2.4k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
400
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
Transcript
Google Chrome の開発者ツールで C# コードをデバッグできるって 知ってました? フロントエンド・PHP カンファレンス北海道 2026 LT
Blazor WebAssembly ― C# で SPA を実装 ―
トランスパイラではありません C# をコンパイルしたバイナリがブラウザ上で動く compile C# Source Code (*.cs) MSIL (*.dll)
".NET CLR" Interpreter for MSIL (dotnet.wasm) 01 10 11 00 11 10 01 00 01 load & run load & interpret Web Browser
Web アプリケーションフレームワークである "C# が動く" だけではありません ▪ コンポーネント指向 ▪ データバインディング ▪
ルーティング ▪ DOM イベントハンドリング ▪ モジュール化された CSS
"JSX の C# 版" でコンポーネントを記述 To Do リストの例 <ul >
@foreach ( var item in _toDoList ) { <li >@ item </ li > } </ ul > <form @onsubmit ="OnSubmit" > <input type ="text" @bind =" _newToDo " > <button >Add</ button > </ form > @code { private readonly List <string > _toDoList = new(); private string _newToDo = "" ; private void OnSubmit () { _toDoList . Add( _newToDo ); _newToDo = "" ; } } HTML 中に C# を混ぜて書ける JSX の C# 版みたいな感じ “@onイベント名” でイベントを ハンドルする 指定した C# のメソッドが呼び出される “@bind” で変数をバインドする Input 要素の入力内容が、指定した C# の フィールド変数・プロパティに反映される コンポーネントの状態はフィールド 変数・プロパティに持てばよい React の Context のような仕組みもある ToDoList.razor .razor ファイルがコンポーネント 他のコンポーネントで <ToDoList/> とマーク アップして使える パラメーターやイベントコールバックを渡せる
ブラウザで C#ソースコード デバッグできる ブラウザの開発ツールウィンドウ ▪ 皆さんご存知の Ctrl + Shift +
I で出てくるアレ ▪ あそこに C# のソースコードが出てくる ▪ ブレークポイントで停止 ▪ 変数ウォッチ
DEMO
Blazor WebAssembly で作成した To Do List アプリを開いたところ。 右側には開発者ツールウィンドウのデバッガを開いています。
デバッガの file:// ツリーを開くと、Blazor WebAssembly のソースコードが現れます。 拡張子 .cs は普通のC#ソースコード、.razor は Blazor
WebAssembly のコンポーネントです。
デバッガの file:// ツリーから .razor ファイルを開くと、"JSX の C# 版" とでも言うべき、HTML 内に
C# を混ぜて記述する、Blazor のコンポーネントのソースコードが見えます。
.razor ファイルの行頭をクリックすれば、普通に、C# のメソッド内にブレークポイントが設定できます。 この状態で、To Do List アプリの [+] ボタンをクリックすると...
ちゃんとブレークポイントを設定した C# 行で停止しました!
コールスタックもちゃんと取れているので、呼び出し元のソースコード行へ遡ってジャンプできます。
変数ウォッチも機能しています。To Do List アイテムのリストオブジェクトに追加された要素を展開し、 オブジェクトの各プロパティの現在の値を見ることができます。
DEMO
▪ 非常にニッチではあるのですが、C# で SPA を作るという需要・市場があります ▪ JavaScript だけじゃないフロントエンド Web 開発の存在にどうぞ温かいご理解を
技術のヘンタイですよね まとめ
Thank you! ありがとうございました Learn, Practice, Share.