ในฐานะนักพัฒนาแอป Google Chat คุณอาจต้องแก้ไขข้อบกพร่องของโค้ด ทดสอบการเปลี่ยนแปลงหรือแก้ปัญหาที่ซับซ้อน การแก้ไขข้อบกพร่องแอปใน Chat สามารถทำได้หลายวิธี ขึ้นอยู่กับสถาปัตยกรรมของแอป การทำงานของแอป วิธีการนำแอปไปใช้ และค่ากำหนดของคุณ
หน้านี้อธิบายวิธีแก้ไขข้อบกพร่องของแอป Chat แบบ HTTP โดยใช้ ngrok ซึ่งเป็นแพลตฟอร์มขาเข้าแบบรวมที่ใช้ทดสอบในเครื่องได้ สภาพแวดล้อมในการพัฒนาซอฟต์แวร์ ในคู่มือนี้ คุณจะได้ทดสอบการเปลี่ยนแปลงโค้ดใน สภาพแวดล้อมการทำงานและแก้ปัญหาในสภาพแวดล้อมระยะไกล
แก้ไขข้อบกพร่องจากสภาพแวดล้อมการพัฒนาในเครื่อง
ในส่วนนี้ คุณจะโต้ตอบกับแอป Chat ที่ ดำเนินการในสภาพแวดล้อมในเครื่องของคุณ
รูปที่ 1 แก้ไขข้อบกพร่องในสภาพแวดล้อมการพัฒนาภายใน
เวิร์กช็อป
Node.js
Python
Java
ข้อกำหนดเบื้องต้น
Node.js
node
และnpm
เวอร์ชันล่าสุด ติดตั้งแล้ว ในท้องที่ของคุณnodemon
ติดตั้งเวอร์ชันล่าสุดในเครื่องของคุณแล้ว สภาพแวดล้อมนี้ใช้เพื่อการโหลดซ้ำอัตโนมัติnpm install -g nodemon
แอป HTTP Chat ที่กำหนดค่าไว้สำหรับ การรับส่งข้อความ คุณติดตามส่วนต่างๆ ได้ ข้อกำหนดเบื้องต้น ตั้งค่า สภาพแวดล้อม และเผยแพร่แอปไปยัง Google Chat ของ คู่มือเริ่มใช้งานฉบับย่อ มีเพียง คุณต้องตั้งชื่อแอปเป็น
Debug App
URL ของแอปไปยังอะไรก็ได้ เช่นhttp://example.com
IDE ที่ตั้งค่าไว้ในสภาพแวดล้อมในเครื่องของคุณซึ่งแก้ไขข้อบกพร่องได้ เราใช้
Visual Studio Code
IDE และค่าเริ่มต้น การแก้ไขข้อบกพร่องของฟีเจอร์ใน คู่มือนี้มีไว้เพื่อประกอบการอธิบายGit
ติดตั้งแล้ว ในท้องที่ของคุณบัญชี
ngrok
Python
python3
เวอร์ชันล่าสุด ติดตั้งแล้ว ในท้องที่ของคุณ- เวอร์ชันล่าสุดของ
pip
และvirtualenv
ติดตั้งใน สภาพแวดล้อมภายในเครื่อง ซึ่งใช้ในการจัดการแพ็กเกจ Python และ สภาพแวดล้อมที่เกี่ยวข้องตามลำดับ - แอป HTTP Chat ที่กำหนดค่าไว้สำหรับ
การรับส่งข้อความ คุณติดตามส่วนต่างๆ ได้
ข้อกำหนดเบื้องต้น
ตั้งค่า
สภาพแวดล้อม
และเผยแพร่แอปไปยัง Google
Chat ของ
คู่มือเริ่มใช้งานฉบับย่อ มีเพียง
คุณต้องตั้งชื่อแอปเป็น
Debug App
URL ของแอปไปยังอะไรก็ได้ เช่นhttp://example.com
- IDE ที่ตั้งค่าไว้ในสภาพแวดล้อมในเครื่องของคุณซึ่งแก้ไขข้อบกพร่องได้ เราใช้
Visual Studio Code
IDE และค่าเริ่มต้น การแก้ไขข้อบกพร่องของฟีเจอร์ใน คู่มือนี้มีไว้เพื่อประกอบการอธิบาย Git
ติดตั้งแล้ว ในท้องที่ของคุณ- บัญชี
ngrok
gcloud
เวอร์ชันล่าสุด ติดตั้งแล้ว และเริ่มต้นใน สภาพแวดล้อมภายใน
Java
Java SE 11's JDK
เวอร์ชันล่าสุดที่มีความเสถียร ติดตั้งแล้วในเครื่องของคุณ ของคุณApache Maven
เวอร์ชันล่าสุด ติดตั้งแล้วในสภาพแวดล้อมในเครื่องของคุณ ซึ่งใช้ในการจัดการโปรเจ็กต์ Java- แอป HTTP Chat ที่กำหนดค่าไว้สำหรับ
การรับส่งข้อความ คุณติดตามส่วนต่างๆ ได้
ข้อกำหนดเบื้องต้น
ตั้งค่า
สภาพแวดล้อม
และเผยแพร่แอปไปยัง Google
Chat ของ
คู่มือเริ่มใช้งานฉบับย่อ มีเพียง
คุณต้องตั้งชื่อแอปเป็น
Debug App
URL ของแอปไปยังอะไรก็ได้ เช่นhttp://example.com
- IDE ที่ตั้งค่าไว้ในสภาพแวดล้อมในเครื่องของคุณซึ่งแก้ไขข้อบกพร่องได้ เราใช้
Visual Studio Code
IDE และค่าเริ่มต้น การแก้ไขข้อบกพร่องของฟีเจอร์ใน คู่มือนี้มีไว้เพื่อประกอบการอธิบาย Git
ติดตั้งแล้ว ในท้องที่ของคุณ- บัญชี
ngrok
gcloud
เวอร์ชันล่าสุด ติดตั้งแล้ว และเริ่มต้นใน สภาพแวดล้อมภายใน
ทำให้บริการ localhost พร้อมใช้งานแบบสาธารณะ
คุณจำเป็นต้องเชื่อมต่อสภาพแวดล้อมภายในกับอินเทอร์เน็ตเพื่อให้
แอป Chat เข้าถึงได้ มีการใช้แอปพลิเคชัน ngrok
แล้ว
เพื่อเปลี่ยนเส้นทางคำขอ HTTP ที่ส่งไปยัง URL สาธารณะไปยังสภาพแวดล้อมในเครื่องของคุณ
- ในเบราว์เซอร์ในสภาพแวดล้อมในเครื่อง ให้ลงชื่อเข้าใช้บัญชี
ngrok
- ติดตั้งแอปพลิเคชันและตั้งค่า
authtoken
ในเครื่อง ของคุณ - สร้างโดเมนแบบคงที่ใน
ngrok
บัญชีอ้างอิงว่าNGROK_STATIC_DOMAIN
ในวิธีการของคู่มือนี้
กำหนดค่าแอป Chat
กำหนดค่าแอป Chat ให้ส่งคำขอ HTTP ทั้งหมดให้ โดเมนแบบคงที่ของคุณ
เปิดหน้า Google Chat API ในคอนโซล Google Cloud โดยทำดังนี้
คลิกแท็บการกำหนดค่า
ไปที่ฟีเจอร์แบบอินเทอร์แอกทีฟ > การตั้งค่าการเชื่อมต่อ แล้วกำหนดค่า ของช่องข้อความ URL ของแอปเพื่อทำดังนี้
https://NGROK_STATIC_DOMAIN
แทนที่
NGROK_STATIC_DOMAIN
ด้วยโดเมนแบบคงที่ใน บัญชีngrok
ของคุณคลิกบันทึก
รูปที่ 2 แอป Chat จะส่งคำขอ HTTP ทั้งหมด
กับโดเมนแบบคงที่ บริการสาธารณะของ ngrok
ทำหน้าที่เป็นสะพานเชื่อมระหว่าง
แอป Chat และโค้ดของแอปพลิเคชันที่ทํางาน
ในเครื่อง
ทดสอบแอป Chat
คุณสามารถทำให้เครื่องใช้งานได้ กำหนดค่า ทดสอบ แก้ไขข้อบกพร่อง และโหลดซ้ำอัตโนมัติ แอป Chat
Node.js
โคลนที่เก็บ
googleworkspace/google-chat-samples
จาก GitHub ในระบบของคุณ จะมีโค้ดของแอปพลิเคชันเพื่อ ปฏิบัติ:git clone https://github.com/googleworkspace/google-chat-samples.git
จาก
Visual Studio Code
IDE ที่ติดตั้งในสภาพแวดล้อมในเครื่องของคุณ ให้ทำดังนี้- ในหน้าต่างใหม่ ให้เปิดโฟลเดอร์
google-chat-samples/node/basic-app
กำหนดค่าแอปพลิเคชันสำหรับการแก้ไขข้อบกพร่องของโหลดซ้ำอัตโนมัติด้วยการเพิ่ม ในไฟล์
package.json
ได้ดังนี้{ ... "scripts": { ... "debug": "node --inspect index.js", "debug-watch": "nodemon --watch ./ --exec npm run debug" } ... }
ติดตั้งแอปพลิเคชันจากไดเรกทอรีรากดังนี้
npm install
สร้างและกำหนดค่าการเปิดตัวชื่อ
Debug Watch
ที่ทริกเกอร์ สคริปต์debug-watch
โดยการสร้างไฟล์.vscode/launch.json
ใน ไดเรกทอรีราก:{ "version": "0.2.0", "configurations": [{ "type": "node", "request": "launch", "name": "Debug Watch", "cwd": "${workspaceRoot}", "runtimeExecutable": "npm", "runtimeArgs": ["run-script", "debug-watch"] }] }
เพิ่มเบรกพอยท์ที่หยุดการประมวลผลคำขอ HTTP ชั่วคราวใน
index.js
ไฟล์ และเริ่มทำงานและ การแก้ไขข้อบกพร่องด้วยฟังก์ชัน เพิ่มการกำหนดค่าDebug Watch
ก่อนหน้าแล้ว การสมัคร กำลังเรียกใช้และรอฟังคำขอ HTTP บนพอร์ต9000
รูปที่ 3 แอปพลิเคชันกำลังทำงานและรอฟัง HTTP คำขอในพอร์ต
9000
- ในหน้าต่างใหม่ ให้เปิดโฟลเดอร์
เปิดแอปพลิเคชัน
ngrok
ในสภาพแวดล้อมในเครื่องของคุณ:ngrok http --domain=NGROK_STATIC_DOMAIN 9000
แทนที่
NGROK_STATIC_DOMAIN
ด้วยโดเมนแบบคงที่ใน บัญชีngrok
ของคุณ ตอนนี้ระบบเปลี่ยนเส้นทางคำขอทั้งหมดไปยังในพื้นที่ และพอร์ตที่แอปพลิเคชันใช้รูปที่ 4 เทอร์มินัลที่มีเซิร์ฟเวอร์
ngrok
กำลังทำงานและเปลี่ยนเส้นทางอินเทอร์เฟซเว็บก็เริ่มต้นบน localhost ของคุณโดย
ngrok
คุณสามารถตรวจสอบกิจกรรมทั้งหมดได้โดยการเปิดในเบราว์เซอร์รูปที่ 5 อินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชัน
ngrok
ไม่แสดงคำขอ HTTPทดสอบแอปใน Chat ด้วยการส่งข้อความโดยตรง ข้อความ:
เปิด Google Chat
คลิกแชทใหม่
ในกล่องโต้ตอบ ให้ป้อนชื่อ แอป Chat
ในผลการค้นหา ให้หาแอป Chat ของคุณ คลิกเพิ่ม > แชท
ในพื้นที่ข้อความส่วนตัว ให้พิมพ์
Hello
แล้วกดenter
บัญชี แอปแชทไม่ตอบกลับเนื่องจากกำลังถูก แก้ไขข้อบกพร่องอย่างต่อเนื่องแล้ว
ใน
Visual Studio Code
ในสภาพแวดล้อมท้องถิ่นของคุณ คุณจะเห็นว่า การดำเนินการจะหยุดชั่วคราวที่เบรกพอยท์ที่ตั้งค่าไว้รูปที่ 6 การดำเนินการจะหยุดชั่วคราวที่เบรกพอยท์ที่ตั้งค่าไว้
เมื่อคุณดำเนินการต่อจากโปรแกรมแก้ไขข้อบกพร่องของ
Visual Studio Code
ก่อนที่ Google Chat จะหมดเวลาแอป Chat ตอบกลับYour message : Hello
คุณสามารถตรวจสอบบันทึกคำขอ HTTP และการตอบกลับได้จากอินเทอร์เฟซเว็บ โฮสต์โดยแอปพลิเคชัน
ngrok
ในสภาพแวดล้อมในเครื่องของคุณรูปที่ 7 คำขอ HTTP จากอินเทอร์เฟซเว็บที่โฮสต์โดย
ngrok
แอปพลิเคชันหากต้องการเปลี่ยนการทำงานของแอปพลิเคชัน ให้แทนที่
Your message
ด้วยHere was your message
ในบรรทัด35
ของindex.json
เมื่อคุณบันทึกnodemon
จะโหลดแอปพลิเคชันที่มี ซอร์สโค้ดที่อัปเดตและVisual Studio Code
ยังคงอยู่ในโหมดแก้ไขข้อบกพร่องรูปที่ 8 แอปพลิเคชันกำลังทำงานและรอรับคำขอ HTTP บนพอร์ต
9000
ที่โหลดการเปลี่ยนโค้ดแล้วครั้งนี้ แทนที่จะส่งข้อความที่ 2
Hello
ในพื้นที่ทำงาน คุณ สามารถเลือกคำขอ HTTP สุดท้ายที่บันทึกลงในเว็บอินเทอร์เฟซซึ่งโฮสต์โดย แอปพลิเคชันngrok
ในสภาพแวดล้อมในเครื่องของคุณและคลิกReplay
เหมือนกับครั้งที่แล้วที่แอป Chat ไม่ตอบกลับ เพราะเรากำลังแก้ไขข้อบกพร่องนี้อยู่เมื่อคุณดำเนินการต่อจากโปรแกรมแก้ไขข้อบกพร่องของ
Visual Studio Code
คุณจะเห็นได้จากอินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชันngrok
ใน สภาพแวดล้อมในเครื่องของคุณที่แอปพลิเคชันสร้างการตอบสนองด้วย ข้อความHere was your message : Hello
เวอร์ชันอัปเดต
Python
ขอรับข้อมูลเข้าสู่ระบบของผู้ใช้ใหม่เพื่อใช้กับค่าเริ่มต้นของแอปพลิเคชัน ข้อมูลเข้าสู่ระบบ:
gcloud config set project PROJECT_ID
gcloud auth application-default login
แทนที่
PROJECT_ID
ด้วย รหัสโปรเจ็กต์ สำหรับโปรเจ็กต์ในระบบคลาวด์ของแอปโคลนที่เก็บ
googleworkspace/google-chat-samples
จาก GitHub ในระบบของคุณ จะมีโค้ดของแอปพลิเคชันดังนี้git clone https://github.com/googleworkspace/google-chat-samples.git
จาก
Visual Studio Code
IDE ที่ติดตั้งในสภาพแวดล้อมในเครื่องของคุณ ให้ทำดังนี้- ในหน้าต่างใหม่ ให้เปิดโฟลเดอร์
google-chat-samples/python/avatar-app
สร้างสภาพแวดล้อมเสมือนใหม่สำหรับ Python
env
และเปิดใช้งาน:virtualenv env
source env/bin/activate
ติดตั้งทรัพยากร Dependency ของโปรเจ็กต์ทั้งหมดโดยใช้
pip
ในระบบเสมือนจริง สภาพแวดล้อม:pip install -r requirements.txt
สร้างไฟล์
.vscode/launch.json
ในไดเรกทอรีรากและ กำหนดค่าการเปิดตัวชื่อDebug Watch
ที่เรียกใช้แอปพลิเคชัน จากโมดูลfunctions-framework
บนพอร์ต9000
ในโหมดแก้ไขข้อบกพร่อง ในสภาพแวดล้อมเสมือนจริงenv
:{ "version": "0.2.0", "configurations": [{ "type": "python", "request": "launch", "name": "Debug Watch", "python": "${workspaceFolder}/env/bin/python3", "module": "functions_framework", "args": [ "--target", "avatar_app", "--port", "9000", "--debug" ] }] }
เพิ่มเบรกพอยท์ที่หยุดการประมวลผลคำขอ HTTP ชั่วคราวใน
main.py
ไฟล์ และเริ่มทำงานและ การแก้ไขข้อบกพร่องด้วยฟังก์ชัน เพิ่มการกำหนดค่าDebug Watch
ก่อนหน้าแล้ว การสมัคร กำลังเรียกใช้และรอฟังคำขอ HTTP บนพอร์ต9000
รูปที่ 3 แอปพลิเคชันกำลังทำงานและรอฟัง HTTP คำขอในพอร์ต
9000
- ในหน้าต่างใหม่ ให้เปิดโฟลเดอร์
เปิดแอปพลิเคชัน
ngrok
ในสภาพแวดล้อมในเครื่องของคุณ:ngrok http --domain=NGROK_STATIC_DOMAIN 9000
แทนที่
NGROK_STATIC_DOMAIN
ด้วยโดเมนแบบคงที่ใน บัญชีngrok
ของคุณ ตอนนี้ระบบเปลี่ยนเส้นทางคำขอทั้งหมดไปยังในพื้นที่ และพอร์ตที่แอปพลิเคชันใช้รูปที่ 4 เทอร์มินัลที่มีเซิร์ฟเวอร์
ngrok
กำลังทำงานและเปลี่ยนเส้นทางอินเทอร์เฟซเว็บก็เริ่มต้นบน localhost ของคุณโดย
ngrok
คุณสามารถตรวจสอบกิจกรรมทั้งหมดได้โดยการเปิดในเบราว์เซอร์รูปที่ 5 อินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชัน
ngrok
ไม่แสดงคำขอ HTTPทดสอบแอปใน Chat ด้วยการส่งข้อความโดยตรง ข้อความ:
เปิด Google Chat
คลิกแชทใหม่
ในกล่องโต้ตอบ ให้ป้อนชื่อ แอป Chat
ในผลการค้นหา ให้หาแอป Chat ของคุณ คลิกเพิ่ม > แชท
ในพื้นที่ข้อความส่วนตัว ให้พิมพ์
Hey!
แล้วกดenter
บัญชี แอป Chat ไม่ตอบกลับเนื่องจากกำลังถูก แก้ไขข้อบกพร่องอย่างต่อเนื่องแล้ว
ใน
Visual Studio Code
ในสภาพแวดล้อมท้องถิ่นของคุณ คุณจะเห็นว่า การดำเนินการจะหยุดชั่วคราวที่เบรกพอยท์ที่ตั้งค่าไว้รูปที่ 6 การดำเนินการจะหยุดชั่วคราวที่เบรกพอยท์ที่ตั้งค่าไว้
เมื่อคุณดำเนินการต่อจากโปรแกรมแก้ไขข้อบกพร่องของ
Visual Studio Code
ก่อนที่ Google Chat จะหมดเวลาแอป Chat ตอบกลับพร้อมชื่อและรูปโปรไฟล์ของคุณในข้อความคุณสามารถตรวจสอบบันทึกคำขอ HTTP และการตอบกลับได้จากอินเทอร์เฟซเว็บ โฮสต์โดยแอปพลิเคชัน
ngrok
ในสภาพแวดล้อมในเครื่องของคุณรูปที่ 7 คำขอ HTTP จากอินเทอร์เฟซเว็บที่โฮสต์โดย
ngrok
แอปพลิเคชันหากต้องการเปลี่ยนการทำงานของแอปพลิเคชัน ให้แทนที่
Hello
ด้วยHey
ในบรรทัด51
ของไฟล์main.py
เมื่อคุณบันทึกไฟล์Visual Studio Code
จะโหลดแอปพลิเคชันซ้ำโดยอัตโนมัติด้วยซอร์สโค้ดที่อัปเดตแล้วและ จะยังคงอยู่ในโหมดแก้ไขข้อบกพร่องรูปที่ 8 แอปพลิเคชันกำลังทำงานและรอรับคำขอ HTTP บนพอร์ต
9000
ที่โหลดการเปลี่ยนโค้ดแล้วครั้งนี้ แทนที่จะส่งข้อความที่ 2
Hey!
ในพื้นที่ทำงาน คุณ สามารถเลือกคำขอ HTTP สุดท้ายที่บันทึกลงในเว็บอินเทอร์เฟซซึ่งโฮสต์โดย แอปพลิเคชันngrok
ในสภาพแวดล้อมในเครื่องของคุณและคลิกReplay
เหมือนกับครั้งที่แล้วที่แอป Chat ไม่ตอบกลับ เพราะเรากำลังแก้ไขข้อบกพร่องนี้อยู่เมื่อคุณดำเนินการต่อจากโปรแกรมแก้ไขข้อบกพร่องของ
Visual Studio Code
คุณจะเห็นได้จากอินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชันngrok
ใน สภาพแวดล้อมในเครื่องของคุณที่แอปพลิเคชันสร้างการตอบสนองด้วย ข้อความเวอร์ชันอัปเดต
Java
ขอรับข้อมูลเข้าสู่ระบบของผู้ใช้ใหม่เพื่อใช้กับค่าเริ่มต้นของแอปพลิเคชัน ข้อมูลเข้าสู่ระบบ:
gcloud config set project PROJECT_ID
gcloud auth application-default login
แทนที่
PROJECT_ID
ด้วย รหัสโปรเจ็กต์ สำหรับโปรเจ็กต์ในระบบคลาวด์ของแอปโคลนที่เก็บ
googleworkspace/google-chat-samples
จาก GitHub ในสภาพแวดล้อมในเครื่องของคุณ จะมีโค้ดของแอปพลิเคชันดังนี้git clone https://github.com/googleworkspace/google-chat-samples.git
จาก
Visual Studio Code
IDE ที่ติดตั้งในสภาพแวดล้อมในเครื่องของคุณ ให้ทำดังนี้- ในหน้าต่างใหม่ ให้เปิดโฟลเดอร์
google-chat-samples/java/avatar-app
กำหนดค่าโปรเจ็กต์ Maven เพื่อเรียกใช้แอปพลิเคชัน
App
พอร์ต9000
ภายในเครื่องโดยเพิ่มบิลด์เฟรมเวิร์ก Cloud Functions ปลั๊กอินfunction-maven-plugin
ในไฟล์pom.xml
... <plugin> <groupId>com.google.cloud.functions</groupId> <artifactId>function-maven-plugin</artifactId> <version>0.11.0</version> <configuration> <functionTarget>App</functionTarget> <port>9000</port> </configuration> </plugin> ...
ตอนนี้คุณเปิดใช้งานภายในเครื่องในโหมดแก้ไขข้อบกพร่องได้แล้ว โดยทำดังนี้
mvnDebug function:run Preparing to execute Maven in debug mode Listening for transport dt_socket at address: 8000
สร้างไฟล์
.vscode/launch.json
ในไดเรกทอรีรากและ กำหนดค่าการเปิดตัวชื่อRemote Debug Watch
ที่ต่อเชื่อมกับ แอปพลิเคชันที่เคยเปิดด้วยพอร์ต8000
:{ "version": "0.2.0", "configurations": [{ "type": "java", "request": "attach", "name": "Remote Debug Watch", "projectName": "http-function", "hostName": "localhost", "port": 8000 }] }
เพิ่มเบรกพอยท์ที่หยุดการประมวลผลคำขอ HTTP ชั่วคราวใน
App.java
ไฟล์ แล้ว เริ่มการแนบ และ การแก้ไขข้อบกพร่องด้วยฟังก์ชัน เพิ่มการกำหนดค่าRemote Debug Watch
ก่อนหน้าแล้ว แอปพลิเคชัน กำลังเรียกใช้และรอฟังคำขอ HTTP บนพอร์ต9000
รูปที่ 3 แอปพลิเคชันกำลังทำงานและรอฟัง HTTP คำขอในพอร์ต
9000
- ในหน้าต่างใหม่ ให้เปิดโฟลเดอร์
เปิดแอปพลิเคชัน
ngrok
ในสภาพแวดล้อมในเครื่องของคุณ:ngrok http --domain=NGROK_STATIC_DOMAIN 9000
แทนที่
NGROK_STATIC_DOMAIN
ด้วยโดเมนแบบคงที่ใน บัญชีngrok
ของคุณ ตอนนี้ระบบเปลี่ยนเส้นทางคำขอทั้งหมดไปยังในพื้นที่ และพอร์ตที่แอปพลิเคชันใช้รูปที่ 4 เทอร์มินัลที่มีเซิร์ฟเวอร์
ngrok
กำลังทำงานและเปลี่ยนเส้นทางอินเทอร์เฟซเว็บก็เริ่มต้นบน localhost ของคุณโดย
ngrok
คุณสามารถตรวจสอบกิจกรรมทั้งหมดได้โดยการเปิดในเบราว์เซอร์รูปที่ 5 อินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชัน
ngrok
ไม่แสดงคำขอ HTTPทดสอบแอปใน Chat ด้วยการส่งข้อความโดยตรง ข้อความ:
เปิด Google Chat
คลิกแชทใหม่
ในกล่องโต้ตอบ ให้ป้อนชื่อ แอป Chat
ในผลการค้นหา ให้หาแอป Chat ของคุณ คลิกเพิ่ม > แชท
ในพื้นที่ข้อความส่วนตัว ให้พิมพ์
Hey!
แล้วกดenter
บัญชี แอป Chat ไม่ตอบกลับเนื่องจากกำลังถูก แก้ไขข้อบกพร่องอย่างต่อเนื่องแล้ว
ใน
Visual Studio Code
ในสภาพแวดล้อมท้องถิ่นของคุณ คุณจะเห็นว่า การดำเนินการจะหยุดชั่วคราวที่เบรกพอยท์ที่ตั้งค่าไว้รูปที่ 6 การดำเนินการจะหยุดชั่วคราวที่เบรกพอยท์ที่ตั้งค่าไว้
เมื่อคุณดำเนินการต่อจากโปรแกรมแก้ไขข้อบกพร่องของ
Visual Studio Code
ก่อนที่ Google Chat จะหมดเวลาแอป Chat ตอบกลับพร้อมชื่อและรูปโปรไฟล์ของคุณในข้อความคุณสามารถตรวจสอบบันทึกคำขอ HTTP และการตอบกลับได้จากอินเทอร์เฟซเว็บ โฮสต์โดยแอปพลิเคชัน
ngrok
ในสภาพแวดล้อมในเครื่องของคุณรูปที่ 7 คำขอ HTTP จากอินเทอร์เฟซเว็บที่โฮสต์โดย
ngrok
แอปพลิเคชันหากต้องการเปลี่ยนการทำงานของแอปพลิเคชัน ให้แทนที่
Hello
ด้วยHey
ในบรรทัด55
ของไฟล์App.java
รีสตาร์ทกระบวนการmvnDebug
และ เปิดRemote Debug Watch
อีกครั้งเพื่อแนบและรีสตาร์ท การแก้ไขข้อบกพร่องครั้งนี้ แทนที่จะส่งข้อความที่ 2
Hey!
ในพื้นที่ทำงาน คุณ สามารถเลือกคำขอ HTTP สุดท้ายที่บันทึกลงในเว็บอินเทอร์เฟซซึ่งโฮสต์โดย แอปพลิเคชันngrok
ในสภาพแวดล้อมในเครื่องของคุณและคลิกReplay
เหมือนกับครั้งที่แล้วที่แอป Chat ไม่ตอบกลับ เพราะเรากำลังแก้ไขข้อบกพร่องนี้อยู่เมื่อคุณดำเนินการต่อจากโปรแกรมแก้ไขข้อบกพร่องของ
Visual Studio Code
คุณจะเห็นได้จากอินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชันngrok
ใน สภาพแวดล้อมในเครื่องของคุณที่แอปพลิเคชันสร้างการตอบสนองด้วย ข้อความเวอร์ชันอัปเดต
แก้ไขข้อบกพร่องจากสภาพแวดล้อมระยะไกล
ในส่วนนี้ คุณจะโต้ตอบกับแอป Chat ที่ ทำงานบนสภาพแวดล้อมระยะไกล
รูปที่ 9 แก้ไขข้อบกพร่องจากสภาพแวดล้อมระยะไกล
ข้อกำหนดเบื้องต้น
- พื้นที่ข้อความส่วนตัวในแอป Chat คุณสามารถ ไปตามส่วน ทดสอบแอป Chat ของ คู่มือเริ่มใช้งานฉบับย่อ และค้นหา เริ่มใช้แอป Chat
- แอปพลิเคชันของคุณทำงานอยู่ในสภาพแวดล้อมระยะไกลที่มีโปรแกรมแก้ไขข้อบกพร่อง
บนพอร์ตที่กำหนด
จะมีการอ้างอิงเป็น
REMOTE_DEBUG_PORT
ในวิธีการของคู่มือนี้ - สภาพแวดล้อมในเครื่องสามารถ
ssh
ไปยังสภาพแวดล้อมระยะไกลของคุณได้ - IDE ที่ตั้งค่าไว้ในสภาพแวดล้อมในเครื่องของคุณซึ่งแก้ไขข้อบกพร่องได้ เราใช้
Visual Studio Code
IDE และค่าเริ่มต้น การแก้ไขข้อบกพร่องใน เพื่อวัตถุประสงค์ในการอธิบายให้เห็นภาพ
เชื่อมต่อสภาพแวดล้อมในเครื่องและระยะไกล
ในสภาพแวดล้อมในเครื่องที่คุณต้องการเริ่มไคลเอ็นต์การแก้ไขข้อบกพร่อง เชื่อมต่อ ให้ตั้งค่าอุโมงค์ข้อมูล SSH ดังนี้
ssh -L LOCAL_DEBUG_PORT:localhost:REMOTE_DEBUG_PORT REMOTE_USERNAME@REMOTE_ADDRESS
แทนที่ค่าต่อไปนี้
LOCAL_DEBUG_PORT
: พอร์ตแก้ไขข้อบกพร่องในเครื่อง ของคุณREMOTE_USERNAME
: ชื่อผู้ใช้ในสภาพแวดล้อมระยะไกลREMOTE_ADDRESS
: ที่อยู่ของสภาพแวดล้อมระยะไกลREMOTE_DEBUG_PORT
: พอร์ตแก้ไขข้อบกพร่องในรีโมต ของคุณ
ตอนนี้พอร์ตแก้ไขข้อบกพร่องในสภาพแวดล้อมในเครื่องของคุณลิงก์กับพอร์ตแก้ไขข้อบกพร่องใน สภาพแวดล้อมการทำงานทางไกล
เริ่มแก้ไขข้อบกพร่อง
จาก Visual Studio Code
IDE ที่ติดตั้งในสภาพแวดล้อมภายในของคุณ ให้ทำดังนี้
ดังต่อไปนี้:
- ในหน้าต่างใหม่ ให้เปิดซอร์สโค้ดของแอป
สร้างไฟล์
.vscode/launch.json
ในไดเรกทอรีรากและกำหนดค่า เปิดชื่อDebug Remote
ซึ่งต่ออยู่กับพอร์ตแก้ไขข้อบกพร่องในเครื่องของคุณ สภาพแวดล้อม:Node.js
{ "version": "0.2.0", "configurations": [{ "type": "node", "request": "attach", "name": "Debug Remote", "address": "127.0.0.1", "port": LOCAL_DEBUG_PORT }] }
Python
{ "version": "0.2.0", "configurations": [{ "type": "python", "request": "attach", "name": "Debug Remote", "connect": { "host": "127.0.0.1", "port": LOCAL_DEBUG_PORT } }] }
Java
{ "version": "0.2.0", "configurations": [{ "type": "java", "request": "attach", "name": "Debug Remote", "hostName": "127.0.0.1", "port": LOCAL_DEBUG_PORT }] }
แทนที่
LOCAL_DEBUG_PORT
ด้วยพอร์ตแก้ไขข้อบกพร่องใน สภาพแวดล้อมภายในเพิ่มเบรกพอยท์ในซอร์สโค้ดของแอปที่จะหยุดคำขอ HTTP ชั่วคราว การประมวลผลข้อมูล และเริ่มทำงานและ การแก้ไขข้อบกพร่องด้วยการกำหนดค่า
Debug Remote
ที่เพิ่มไว้ก่อนหน้านี้
ในพื้นที่ข้อความส่วนตัวที่มีแอป Chat ให้พิมพ์
อะไรก็ได้ที่ต้องการทดสอบและกด enter
บัญชี
แอปแชทไม่ตอบกลับเนื่องจากมีการใช้งานอยู่ในขณะนี้
แก้ไขข้อบกพร่องแล้ว
ใน Visual Studio Code
IDE
หัวข้อที่เกี่ยวข้อง
- ดูวิธีเปิดใช้ บันทึกข้อผิดพลาด query
- ดูวิธีแก้ไขแอป Google Chat ข้อผิดพลาด เช่น "แอปไม่ตอบสนอง" "Google Chat API ใช้ได้เฉพาะกับผู้ใช้ Google Workspace" หรือ "สามารถยกเว้นผู้ใช้ได้ จากพื้นที่ทำงาน"
- ดูวิธีแก้ไขข้อผิดพลาดของการ์ด เช่น ข้อความในการ์ด กล่องโต้ตอบ หรือตัวอย่างลิงก์ไม่แสดงผลหรือทำงานตามที่คาดไว้