Windows C++ 排查死鎖

開發出來應用程序突然間卡死不動,如果其中是因為死鎖問題卡列該如何排查
下面是一個簡單的死鎖例子

#include <iostream>
#include <thread>
#include <mutex>std::mutex a, b;void function_a() {std::lock_guard<std::mutex> _x(a);std::this_thread::sleep_for(std::chrono::milliseconds(500));std::lock_guard<std::mutex> _y(b);
}void function_b() {std::lock_guard<std::mutex> _y(b);std::lock_guard<std::mutex> _x(a);
}int main() {std::thread t1(function_a);std::thread t2(function_b);t1.join();t2.join();return 0;
}

以Debug模式編譯運行后,毫無意外的沒反應了。
現在打開任務管理器,找到進程
在這里插入圖片描述
CPU利用率0,顯然不太會有死循環,右鍵"轉到詳細信息",然后"分析等待鏈"。
在這里插入圖片描述
在這里插入圖片描述

線程18208 在等待11188結束,線程11188 卡住了。
現在可以打開WinDbg,Attach 到目錄進程,在這之前要設置好符號目錄,這些步驟就跳過。

現在直接!threads查看有哪些線程
在這里插入圖片描述
計算下11188 是哪一條
在這里插入圖片描述
切換到2bb4
在這里插入圖片描述
看看調用堆棧
在這里插入圖片描述
找到問題源碼
在這里插入圖片描述
現在可以分析代碼了

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/76557.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/76557.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/76557.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【零基礎入門unity游戲開發——2D篇】2D 游戲場景地形編輯器——TileMap的使用介紹

考慮到每個人基礎可能不一樣&#xff0c;且并不是所有人都有同時做2D、3D開發的需求&#xff0c;所以我把 【零基礎入門unity游戲開發】 分為成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】&#xff1a;主要講解C#的基礎語法&#xff0c;包括變量、數據類型、運算符、…

【易訂貨-注冊/登錄安全分析報告】

前言 由于網站注冊入口容易被機器執行自動化程序攻擊&#xff0c;存在如下風險&#xff1a; 暴力破解密碼&#xff0c;造成用戶信息泄露&#xff0c;不符合國家等級保護的要求。短信盜刷帶來的拒絕服務風險 &#xff0c;造成用戶無法登陸、注冊&#xff0c;大量收到垃圾短信的…

GLPI 未授權SQL注入漏洞(CVE-2025-24799)

免責申明: 本文所描述的漏洞及其復現步驟僅供網絡安全研究與教育目的使用。任何人不得將本文提供的信息用于非法目的或未經授權的系統測試。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權,請及時與我們聯系,我們將盡快處理并刪除相關內容。 0x0…

基于Deepface的情緒識別c++

基于Deepface的情緒識別c 文章目錄 基于Deepface的情緒識別c簡介下載模型并轉為onnx&#xff08;facial_expression_model_weights.h5&#xff09;測試取出照片的人臉部分并處理成模型輸入格式用模型推理一下看看結果 用onnxruntime的c庫推理 簡介 DeepFace是一個基于深度學習…

Java的數據庫編程——JDBC基礎

JDBC編程 一、概述1.1 概念介紹1.2 驅動包下載1.3 導入驅動包 二、通過Java程序操作數據庫2.1 通過 JDBC 進行 插入數據 操作2.1.1 創建“數據源(DataSource)——描述要操作的數據庫、數據是在哪”2.1.2 與服務器建立連接2.1.3 構造sql語句&#xff0c;并且對字符串類型的sql進…

DeepSeek-R1 面試題匯總

Deepseek-r1 面試寶典 原文地址&#xff1a;https://articles.zsxq.com/id_91kirfu15qxw.html DeepSeek-R1 面試題匯總 DeepSeek-R1 面試題匯總 GRPO&#xff08;Group Relative Policy Optimization&#xff09;常見面試題匯總篇 DeepSeek-R1 DeepSeek-R1-Zero 常見面試題匯總…

SSL/TLS

http ssl傳輸層 -> https 安全套接層 SSL/TLS 1、核心角色與文件2、證書生成流程2.1、生成CA根證書2.2、生成服務端證書2.3 生成客戶端證書&#xff08;雙向認證&#xff09; 3、SSL/TLS 認證模式3.1、單向認證&#xff08;默認 HTTPS&#xff09;3.2、雙向認證&#xff0…

HTML 音頻(Audio)學習筆記

一、HTML 音頻概述 在 HTML 中&#xff0c;音頻可以通過多種方式播放&#xff0c;但要確保音頻在不同瀏覽器和設備上都能正常播放&#xff0c;需要掌握一些技巧。HTML5 引入了 <audio> 元素&#xff0c;為音頻播放提供了一種標準方法&#xff0c;但在 HTML4 中&#xff…

php開發rest api,哪個框架最好

在 2025 年&#xff0c;選擇適合開發 REST API 的 PHP 框架需要根據項目需求、性能要求和團隊技術棧進行權衡。以下是一些推薦的 PHP 框架及其適用場景&#xff1a; 1. Laravel 特點&#xff1a;功能豐富&#xff0c;生態系統強大&#xff0c;內置 API 資源&#xff0c;支持 …

前端入門之CSS

CSS: HTML負責定義頁面結構;JS負責處理頁面邏輯和點擊事件;CSS負責用于描述 HTML 元素的顯示方式,通過 CSS 可以控制顏色、字體、布局等。 核心語法: 選擇器: 類選擇器主要用于選中需要添加樣式的 HTML 元素。主要分為:類選擇器(.class-name { ... })、標簽選擇器(…

MCP協議的Streamable HTTP:革新數據傳輸的未來

引言 在數字化時代&#xff0c;數據傳輸的效率和穩定性是推動技術進步的關鍵。MCP&#xff08;Model Context Protocol&#xff09;作為AI生態系統中的重要一環&#xff0c;通過引入Streamable HTTP傳輸機制&#xff0c;為數據交互帶來了革命性的變化。本文將深入解讀MCP協議的…

MySQL - 索引原理與優化:深入解析B+Tree與高效查詢策略

文章目錄 引言一、BTree索引核心原理1.1 索引數據結構演化1.2 BTree的存儲結構通過主鍵查詢&#xff08;主鍵索引&#xff09;商品數據的過程通過非主鍵&#xff08;輔助索引&#xff09;查詢商品數據的過程 MySQL InnoDB 的索引原理 二、執行計劃深度解析三、索引失效的六大陷…

《K230 從熟悉到...》識別機器碼(AprilTag)

《K230 從熟悉到...》識別機器碼&#xff08;aprirltag&#xff09; tag id 《廬山派 K230 從熟悉到...》 識別機器碼&#xff08;AprilTag&#xff09; AprilTag是一種基于二維碼的視覺標記系統&#xff0c;最早是由麻省理工學院&#xff08;MIT&#xff09;在2008年開發的。A…

Linux驅動復習

應用層調用內核層函數稱為系統調用 1.硬件設備管理 1&#xff0c;字符設備驅動&#xff08;一個一個字節&#xff09;——芯片內部外設 &#xff1a;WDT,Timer&#xff0c;adc,iic&#xff0c;SPI,R,UART,LCD,CAMERA,USB,Keyboard&#xff0c;Mouse 2&#xff0c;塊設備驅動&a…

【FAQ】HarmonyOS SDK 閉源開放能力 —Account Kit(3)

1.問題描述&#xff1a; PC場景&#xff0c;青少年模式系統API不支持嗎&#xff1f; 解決方案&#xff1a; PC場景&#xff0c;青少年模式系統API不支持&#xff0c;另外文檔上的幾個API也不支持。 2.問題描述&#xff1a; 華為一鍵登錄 Beta7本地運行到手機可以拿到匿名手…

【gdutthesis模板】論文標題太長導致換頁問題解決

標題太長導致換頁問題解決方案如下&#xff1a; 調小下方數值即可

SAP學習筆記 - 豆知識18 - (TODO)Msg 番號 ME154 構成品目無法決定

1&#xff0c;現象 構成品目の決定は不可能です Msg 番號 ME154 構成品目無法決定 2&#xff0c;到Deepseek里找一下解決方案 SAP ME21N中錯誤「組件物料的確定不可行&#xff08;ME154&#xff09;」的解決步驟 此錯誤在創建分包采購訂單時出現&#xff0c;通常由于系統無…

10.多線程

預備知識 預備知識一 預備知識二 預備知識三 如何理解進程和線程的關系&#xff0c;舉一個生活中的例子 家庭&#xff1a;進程家庭成員&#xff1a;線程 每個家庭成員都會為這個家庭做貢獻&#xff0c;只不過大家都在做不同的事情&#xff08;比如&#xff1a;我們在上學&…

Python入門(8):文件

1. 文件基本概念 文件&#xff1a;存儲在計算機上的數據集合&#xff0c;Python 通過文件對象來操作文件。 文件類型&#xff1a; 文本文件&#xff1a;由字符組成&#xff0c;如 .txt, .py 二進制文件&#xff1a;由字節組成&#xff0c;如 .jpg, .mp3 2. 文件打開與關閉…

市場交易策略優化與波動管理

市場交易策略優化與波動管理 在市場交易中&#xff0c;策略的優化和波動的管理至關重要。市場價格的變化受多種因素影響&#xff0c;交易者需要根據市場環境動態調整策略&#xff0c;以提高交易的穩定性&#xff0c;并有效規避市場風險。 一、市場交易策略的優化方法 趨勢交易策…