When there are many processes, it can be annoying or impractical to enumerate all the processes when one needs to focus on specific processes. Therefore, Intel IDB introduces the concept of "process sets" and "process ranges" to let the user specify a group of processes in a compact form. Moreover, process sets come with the usual set operations, and both the sets and the ranges can be stored in debugger variables for manipulation, reference, or inspection at a later time.
A process set is a bracketed list of process ranges separated by commas.
Because brackets ([]) are part of the process set syntax, this section shows optional syntactic items enclosed in curly braces ({}).
: [ ]
| [ process_range {,...} ]
The set can be empty.
A process range has the following three forms:
: *
| { expression } : { expression }
In the first form, the star (*) specifies all processes.
You can use the second form as follows:
You can use the third form to specify a contiguous range of processes. For example, 10:12 stands for the processes associated with pids 10, 11, and 12.
A range whose lower bound is greater than its upper bound is illegal and will be ignored.
Because both the lower bound and the upper bound are optional, you can specify ranges as follows:
Example |
Represents |
---|---|
:5 | All processes whose pid is no greater than 5. |
20: | All processes whose pid is no less than 20. |
: | The process set [:] is equivalent to the process set [*]. |