Menu

[291208]: / command / condition.sh  Maximize  Restore  History

Download this file

75 lines (61 with data), 2.1 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# -*- shell-script -*-
# condition.sh - gdb-like "condition" debugger command
#
# Copyright (C) 2002-2006, 2008, 2009, 2011, 2016
# Rocky Bernstein rocky@gnu.org
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING. If not, write to
# the Free Software Foundation, 59 Temple Place, Suite 330, Boston,
# MA 02111 USA.
_Dbg_help_add condition \
"**condition** *bp_number* *zsh-cond*
+Break only if *bassh-cond* is true in breakpoint number *bp_number*.
*bp_number* is an integer and *cond* is an zsh expression to be evaluated whenever
breakpoint *bp_number* is reached.
Examples:
---------
condition 5 x > 10 # Breakpoint 5 now has condition x > 10
condition 5 # Remove above condition
See also:
---------
*break*, *tbreak*.
" 1 _Dbg_complete_brkpt_range
# Set a condition for a given breakpoint $1 is a breakpoint number
# $2 is a condition. If not given, set "unconditional" or 1.
# returns 0 if success or 1 if fail.
function _Dbg_do_condition {
if (( $# < 1 )) ; then
_Dbg_errmsg 'condition: Argument required (breakpoint number).'
return 1
fi
typeset -r n=$1
shift
eval "$_seteglob"
if [[ $n != $int_pat ]]; then
eval "$_resteglob"
_Dbg_errmsg "condition: Bad breakpoint number: $n"
return 2
fi
eval "$_resteglob"
if [[ -z ${_Dbg_brkpt_file[$n]} ]] ; then
_Dbg_msg "condition: Breakpoint entry $n is not set. Condition not changed."
return 3
fi
if [[ -z $condition ]] ; then
condition=1
_Dbg_msg "Breakpoint $n now unconditional."
fi
_Dbg_brkpt_cond[$n]="$condition"
return 0
}
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.