與 AI 互動 - 學習如何看呼叫鏈堆疊資訊
目的
收集不同結構呼叫鏈,對應的堆疊結構資訊,熟悉堆疊結構與程式邏輯的對應關係。
避免當看到後臺系統一堆報錯堆疊資訊後,無從下手的情況。
互動記錄
💡 淺顯的認為,在向 AI 提問題前,是處於 2 種求知的狀態:-- 一無所知,沒有方向
-- 有一些淺顯的瞭解,可以從一些簡單的方向,順藤摸瓜
基於與 Cursor Claude-3.5-sonnet-20241022 模型多輪對話:
HumanMessage 代表本人的問題
AIMessage 代表 AI 的回答(摘取關鍵的部分)
HumanMessage-1
給出示例並列印 for 迴圈語句呼叫鏈 堆疊資訊 與 if 迴圈語句呼叫鏈 堆疊資訊
AIMessage-1
public class StackTraceDemo {
public void forLoopMethod() {
for(int i = 0; i < 2; i++) {
System.out.println("\n第" + (i+1) + "次迴圈的堆疊資訊:");
methodA();
}
}
public void ifMethod() {
if(true) {
methodB();
}
}
private void methodA() {
// 獲取當前堆疊資訊
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
printStackTrace(stackTrace);
}
private void methodB() {
// 獲取當前堆疊資訊
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
printStackTrace(stackTrace);
}
private void printStackTrace(StackTraceElement[] stackTrace) {
for(int i = 0; i < stackTrace.length; i++) {
System.out.println("\t" + stackTrace[i]);
}
}
public static void main(String[] args) {
StackTraceDemo demo = new StackTraceDemo();
System.out.println("===== For迴圈堆疊資訊 =====");
demo.forLoopMethod();
System.out.println("\n===== If語句堆疊資訊 =====");
demo.ifMethod();
}
}
程式碼真實執行結果
HumanMessage-2
以 markdown 圖形化展示呼叫鏈
AIMessage-2
For 呼叫鏈
IF 呼叫鏈
持續學習
使用(結果 + 視覺化圖形)的方式,學會與 AI 進行溝通,持續學習,汲取更多知識
最後
不用再透過傳統搜尋的學習,效率更高,各位還有什麼透過與 AI 互動後,學習到的新知識呢?
相關文章
- [golang]如何看懂呼叫堆疊Golang
- Android學習之 Activity堆疊管理與控制Android
- pretty-printers:更優雅的看GDB堆疊資訊
- 泛型鏈式堆疊泛型
- 區塊鏈學習-Golang 與智慧合約的互動(一)區塊鏈Golang
- 函式呼叫中堆疊的個人理解函式
- android I/DEBUG堆疊資訊Android
- [譯] JavaScript 如何工作:對引擎、執行時、呼叫堆疊的概述JavaScript
- JavaScript是如何工作的:引擎,執行時和呼叫堆疊的概述!JavaScript
- 陣列、連結串列、堆疊和佇列學習陣列佇列
- 如何有效學習互動設計1
- 如何有效學習互動設計2
- VC++ 崩潰處理以及列印呼叫堆疊C++
- android 解碼混淆過的堆疊資訊Android
- Go 錯誤堆疊資訊之 CockroachDB errors 庫GoError
- Java獲取堆疊資訊的3種方法Java
- JS 堆疊JS
- java堆疊Java
- 堆疊圖
- 平衡堆疊
- 如何:強化TCP/IP堆疊安全TCP
- 解讀 JavaScript 之引擎、執行時和堆疊呼叫JavaScript
- JavaScript的工作原理:引擎,執行時和呼叫堆疊JavaScript
- PHP列印呼叫函式入口地址(堆疊),方便調式PHP函式
- JVM異常不列印堆疊資訊 [ -XX:-OmitStackTraceInFastThrow ]JVMMITAST
- 使用Error Stack跟蹤Oracle錯誤堆疊資訊ErrorOracle
- MySQL與Python的互動學習筆記MySqlPython筆記
- Python實現堆疊與佇列Python佇列
- JavaScript 工作原理之一-引擎,執行時,呼叫堆疊(譯)JavaScript
- 對JavaScript呼叫堆疊和setTimeout用法的深入研究JavaScript
- thinkphp console 命令列列印錯誤呼叫堆疊PHP命令列
- 如何用堆疊來儲存和恢復滾動條位置
- 如何強化TCP/IP 堆疊安全教程TCP
- JS中堆疊記憶體的練習JS記憶體
- PHP-stacktrace: PHP 程式外檢視函式呼叫堆疊PHP函式
- 圖的深度優先遍歷[非堆疊、堆疊實現]
- 如何利用執行緒堆疊定位問題執行緒
- 堆的學習