一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Keil調(diào)試時設(shè)置斷點的高級用法

Dp1040 ? 來源:嵌入式技術(shù)開發(fā) ? 作者:嵌入式技術(shù)開發(fā) ? 2023-08-04 09:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在線調(diào)試程序時,打斷點是非常有效的一種方式,配合單步調(diào)試,可以快速定位問題。但有的時候,手動打斷點用起來不是那么方便。

比如,想要在一個循環(huán)的第N次停下來,如果手動打斷點,那就要不停的點擊單步運行,直到循環(huán)運行到第N次。

再比如,程序運行過程中變量不知何時被改變了,又不好定位,手動打斷點就不知打在哪里。這時就要用到一些斷點的高級用法。

1、設(shè)置斷點的運行次數(shù)

以下面程序為例,在循環(huán)的第十次將程序停止。首先在循環(huán)中手動打一個斷點:

a7b5cc5a-325e-11ee-9e74-dac502259ad0.png

點擊Debug菜單,選擇BreakPoints:

a7d847bc-325e-11ee-9e74-dac502259ad0.png

彈出下面菜單:

a80bef04-325e-11ee-9e74-dac502259ad0.png

最上面的斷點是手動打的,雙擊該斷點,會看到Expression會顯示該斷點的信息,修改Count的值為10,點擊Define,然后關(guān)閉該窗口。這里說明一下:

Expression為表達式,即斷點的條件,可以看到,手動設(shè)置的斷點結(jié)尾為123,表示在main.c文件的123行。這里支持基本的>、<、==、!=等操作符。

Count為次數(shù),表示運行多少次中斷一次,手動設(shè)置的斷點Count都是1。

Command為命令,表示到達該斷點時執(zhí)行的命令,默認為空。

按照上面的設(shè)置,運行程序??梢钥吹?,程序運行到斷點時沒有馬上停下,而是在第10次才停下來:

a81286de-325e-11ee-9e74-dac502259ad0.png

2、變量匹配斷點

將變量添加到Watch窗口,右擊選擇Set Access BreakPoint at xxx。還是彈出剛才的菜單:

a8445dbc-325e-11ee-9e74-dac502259ad0.png

a85c7550-325e-11ee-9e74-dac502259ad0.png

勾選Access方式Read或Write,設(shè)置Count值,點擊Define。這里選擇Write,Count值為4,表示該變量第四次被寫入時程序會停止。

3、變量條件匹配斷點

跟上一步一樣,在Watch窗口,右擊變量選擇Set Access BreakPoint at xxx。勾選Access方式Read或Write,刪除Expression下原來的內(nèi)容,填寫表達式“AD== 10”。點擊Define。這樣當AD==10時程序會停止。

a88270e8-325e-11ee-9e74-dac502259ad0.png

4、打印信息

選擇一個手動打好的斷點,然后在Command下填寫printf(),則在運行到斷點處時,程序不會停止,而是在Command窗口打印設(shè)置的信息。

a8bcf38a-325e-11ee-9e74-dac502259ad0.png

a8e15a04-325e-11ee-9e74-dac502259ad0.png

5、條件匹配打印信息

還可以將3和4組合使用,如下:

a8ecf9b8-325e-11ee-9e74-dac502259ad0.png

則AD==10時,程序不中斷,在Command窗口打印信息。 斷點的高級用法還有很多種,不同的表達式,不同的指令等,具體可查閱Keil的使用幫助文檔。

a9275d24-325e-11ee-9e74-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    612

    瀏覽量

    34731
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3826

    瀏覽量

    82997
  • keil
    +關(guān)注

    關(guān)注

    69

    文章

    1223

    瀏覽量

    169619
  • 斷點
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7914
  • Watch
    +關(guān)注

    關(guān)注

    0

    文章

    113

    瀏覽量

    15614

原文標題:Keil調(diào)試時,設(shè)置斷點的高級用法

文章出處:【微信號:玩點嵌入式,微信公眾號:玩點嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何利用keil設(shè)置變量值改變時調(diào)試斷點?

    如何利用keil設(shè)置變量值改變時調(diào)試斷點?
    發(fā)表于 12-24 07:13

    KEIL斷點調(diào)試窗口的常規(guī)用法有哪些

    程序運行過程中的數(shù)據(jù)是怎么修改的?在哪里修改的?KEIL斷點調(diào)試窗口的常規(guī)用法有哪些?
    發(fā)表于 02-17 06:32

    keil在線調(diào)試無法設(shè)置斷點怎么解決?

    使用的是Keil IDE及Jlink仿真器,但是keil啟動在線仿真時無法設(shè)置斷點,仿真前設(shè)置斷點
    發(fā)表于 11-03 06:11

    基于Keil的入門實例教程

    基于Keil的入門實例教程: 1 Keil工程文件的建立、設(shè)置與目標文件的獲得3 Keil 程序調(diào)試窗口2
    發(fā)表于 08-10 08:36 ?355次下載

    Keil調(diào)試命令,在線匯編與斷點設(shè)置

    本章介紹常用的調(diào)試命令,利用在線匯編,各種設(shè)置斷點進行程序調(diào)試的方法,并通過實例介紹這些方法的使用。
    發(fā)表于 01-09 11:29 ?62次下載

    Keil調(diào)試命令、在線匯編與斷點設(shè)置

    Keil調(diào)試命令、在線匯編與斷點設(shè)置上一講中我們學(xué)習(xí)了如何建立工程、匯編、連接工程,并獲得目標代碼,但是做到這一步僅僅代表你的源
    發(fā)表于 01-18 09:38 ?1.2w次閱讀
    <b class='flag-5'>Keil</b>的<b class='flag-5'>調(diào)試</b>命令、在線匯編與<b class='flag-5'>斷點</b><b class='flag-5'>設(shè)置</b>

    VI調(diào)試(設(shè)置斷點)

    【LabVIEW從入門到精通】2.4.2 VI調(diào)試(設(shè)置斷點)
    發(fā)表于 01-08 15:44 ?0次下載

    python斷點調(diào)試方法

    本文主要介紹了python斷點調(diào)試方法,pdb 是 python 自帶的一個包,為 python 程序提供了一種交互的源代碼調(diào)試功能,主要特性包括設(shè)置
    發(fā)表于 01-14 10:44 ?7484次閱讀
    python<b class='flag-5'>斷點</b><b class='flag-5'>調(diào)試</b>方法

    python程序調(diào)試設(shè)置條件斷點

    本文主要介紹了python程序調(diào)試設(shè)置條件斷點。實際開發(fā)中,調(diào)試代碼通常要花費比新編寫代碼更多的時間,選擇合理的調(diào)試方法和工具對于程序工作
    發(fā)表于 01-14 11:39 ?6669次閱讀
    python程序<b class='flag-5'>調(diào)試</b>中<b class='flag-5'>設(shè)置</b>條件<b class='flag-5'>斷點</b>

    Keil軟件實驗教程之Keil調(diào)試命令和在線匯編與斷點設(shè)置

    ,絕大部份的程序都要通過反復(fù)調(diào)試才能得到正確的結(jié)果,因此,調(diào)試是軟件開發(fā)中重要的一個環(huán)節(jié),這一講將介紹常用的調(diào)試命令、利用在線匯編、各種設(shè)置斷點
    發(fā)表于 07-15 16:47 ?11次下載
    <b class='flag-5'>Keil</b>軟件實驗教程之<b class='flag-5'>Keil</b>的<b class='flag-5'>調(diào)試</b>命令和在線匯編與<b class='flag-5'>斷點</b><b class='flag-5'>設(shè)置</b>

    Keil調(diào)試命令和在線匯編與斷點設(shè)置

    ,絕大部份的程序都要通過反復(fù)調(diào)試才能得到正確的結(jié)果,因此,調(diào)試是軟件開發(fā)中重要的一個環(huán)節(jié),這一講將介紹常用的調(diào)試命令、利用在線匯編、各種設(shè)置斷點
    發(fā)表于 03-26 09:21 ?34次下載

    Keil調(diào)試命令和在線匯編與斷點設(shè)置

    ,絕大部份的程序都要通過反復(fù)調(diào)試才能得到正確的結(jié)果,因此,調(diào)試是軟件開發(fā)中重要的一個環(huán)節(jié),這一講將介紹常用的調(diào)試命令、利用在線匯編、各種設(shè)置斷點
    發(fā)表于 03-26 09:21 ?75次下載

    Segger的無限Flash斷點調(diào)試功能

    J-Link支持一項名為“無限Flash斷點”(Unlimited Flash Breakpoints)的調(diào)試功能。“無限Flash斷點”允許用戶在Flash中調(diào)試
    的頭像 發(fā)表于 05-07 09:54 ?2493次閱讀

    Keil設(shè)置斷點高級用法

    跟上一步一樣,在Watch窗口,右擊變量選擇Set Access BreakPoint at xxx。勾選Access方式Read或Write,刪除Expression下原來的內(nèi)容,填寫表達式“AD== 10”。點擊Define。這樣當AD==10時程序會停止。
    的頭像 發(fā)表于 05-10 14:17 ?5021次閱讀

    GDB調(diào)試里怎么設(shè)置斷點

    本篇講解使用GDB調(diào)試Linux應(yīng)用程序,以下以 hellowld.c 為例介紹 GDB 的調(diào)試入門: 設(shè)置斷點 ??disable?????????????????#?禁用所有
    的頭像 發(fā)表于 10-04 16:10 ?1529次閱讀