怎麼遠程調試已經外發的用戶安裝包

来源:https://www.cnblogs.com/mlLrq/p/18355729
-Advertisement-
Play Games

一、背景 在公司軟體的實際開發中,當一個版本的客戶端安裝包本地調試、測試驗證都沒問題後外發,到用戶實際機器上出問題了,怎麼辦? 很多人說,讓客戶給出復現步驟,我來試試!但是按照步驟操作之後還是沒效果。這時你又想到了是不是環境的差異,但是又說不上來是哪裡出問題。提供兩個辦法:1.寫日誌,編一個相近版本 ...


一、背景

在公司軟體的實際開發中,當一個版本的客戶端安裝包本地調試、測試驗證都沒問題後外發,到用戶實際機器上出問題了,怎麼辦?
很多人說,讓客戶給出復現步驟,我來試試!但是按照步驟操作之後還是沒效果。這時你又想到了是不是環境的差異,但是又說不上來是哪裡出問題。提供兩個辦法:1.寫日誌,編一個相近版本的dll給用戶替換之後看日誌(但是公司不讓提供dll給用戶)--這時在公司大群喊一聲,看是否能找到公司內部人員復現;如果幸運找到了,就將dll給同事,通過寫的日誌排查;2.今天重點講的是第二種方法,如果使用Visual Studio遠程調試;

二、使用Visual Studio遠程調試

遠程調試工具(x86版本)-[remote Debugger](鏈接:https://pan.baidu.com/s/1hFYCrjULKcSkQx4tkPEY7w

提取碼:6vcn)
在用戶電腦雙擊運行這個工具:

通過ipconfig查看用戶ip地址(跟用戶得在同一個網路)

記錄下用戶的ipv4地址
然後打開VS的附加遠程調試

在客戶端電腦通過remote debugger設置無需身份驗證(不要選擇連接目標的下拉框,直接輸入ip地址即可)

選擇對應的進程附加(記得在用戶那裡啟動相應的軟體)

在這裡選擇用戶已有的進程進行附加
然後打開符號載入工具(可以自動載入符號的,每個公司應該都有)

選擇對應的dll文件進行載入

然後就是跟本地一樣的斷點調試了(本地的代碼版本儘量跟安裝包的保持一致)

註意事項:
一定要選擇對應的進程,不然就算載入了對應的插件也找不到(有時候主進程還沒起來,切得等你想要的進程起來後再選擇對應的進程進行插件的搜索)

人生很長,一起加油
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 經過2個月的詳細調研,**稀土目前缺少生產車間之間數據協同交互、缺少完整的生產工序數據協同監測和分析,無法及時瞭解生產過程和經營情況,更無法進行有效的生產過程優化。本項目推動**稀土生產環節的數字化、信息化和智能化改造,從行業、戰略、技術和市場等方案全面提升**稀土的競爭力,打造**稀土焙燒、水浸、... ...
  • 前言 在項目開發中,方法返回的結果(成功或失敗)對我們開發來說很重要。傳統方法,如通過異常來指示錯誤或使用特定的返回類型(如布爾值加輸出參數),雖然有效,但可能缺乏直觀性和靈活性。 FluentResults庫應運而生,它以一種既流暢又富有表達力的方式,極大地優化了這一過程。通過使用FluentRe ...
  • 在C#中,集合是用於存儲和操作一組數據項的數據結構。這些集合通常位於 System.Collections 和 System.Collections.Generic 命名空間中。下麵我將概述C#中幾種常用的集合類型及其特點: 1. System.Collections 命名空間中的集合 這個命名空間 ...
  • ...
  • 前言 在實際項目開發中,需求變更和項目迭代是常態。要求我們能夠迅速響應,對資料庫結構進行相應的調整,如添加新表、更新現有表結構或增加欄位等。 為了確保團隊成員之間的信息同步,實時更新和維護資料庫文檔變得至關重要。這不僅提升了資料庫的可讀性,也極大提高了開發效率和團隊協作的流暢性。 SmartSQL, ...
  • 前言 .NET許可權管理及快速開發框架、最好用的許可權工作流系統。 基於經典領域驅動設計的許可權管理及快速開發框架,源於Martin Fowler企業級應用開發思想及最新技術組合(SqlSugar、EF、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、Vue2/3、Ele ...
  • 本章將和大家分享Linux系統中的管道命令、grep命令、sed命令和awk命令。廢話不多說,下麵我們直接進入主題。 一、管道命令 Linux 中的管道命令(pipe)是一種非常強大的特性,它允許你將一個命令的輸出作為另一個命令的輸入。管道命令極大地增強了命令行的靈活性和功能,使得複雜的數據處理任務 ...
  • 1. 配置 1.1 如果是配置全局文件,則編輯/etc/mail.rc 1.2 如果是配置當前用戶,則編輯~/.mailrc 2. 配置文件內容 # 這裡填入smtp地址,這裡的xxx為qq或者163等,如果用的雲伺服器,安全組策略要開放465/25埠,入站和出站都要開放該埠 set smtp= ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...