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
95
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
60
VRT in Blazor App Dev - .NET Lab 2026 Jul LT
jsakamoto
0
72
useEffect は使いたくないのですが、ではどうしたらいいですか
jsakamoto
1
130
開発したプレゼン用ツールが15年経っても誰も使ってくれない話
jsakamoto
0
100
UI コンポーネントカタログに MCP サーバー機能を追加する試み、そしてその結果
jsakamoto
1
130
いいね が燃料! 「自分のOSS」で1億ダウンロード突破の開発者が語る OSS 開発のリアル
jsakamoto
0
270
minify の効果を最大限に引き出す TypeScript コードを書く
jsakamoto
2
400
JavaScript 以外の言語によるフロントエンド Web 開発が既に実用段階である話
jsakamoto
0
2.9k
ベクトル化を使った意味検索を、簡単にアプリケーションに搭載できる時代になっていた件。
jsakamoto
2
430
Other Decks in Programming
See All in Programming
yield再入門 #phpcon
o0h
PRO
0
930
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
650
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.2k
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
170
仕様駆動開発の消費期限
watany
7
1.4k
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
140
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.7k
継続モナドとリアクティブプログラミング
yukikurage
3
680
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
360
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
530
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
230
テーブルをDELETEした
yuzneri
0
130
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Exploring anti-patterns in Rails
aemeredith
3
450
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Music & Morning Musume
bryan
47
7.3k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
350
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
Into the Great Unknown - MozCon
thekraken
41
2.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Discover your Explorer Soul
emna__ayadi
2
1.2k
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.