Администрирование локальных сетей

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

loating point registers backward.

 

Assertions:

a commands Create a new assertion with a command list.

aa (number | *) Activate one or all assertions.

da (number | *) Delete one or all assertions.

la List all assertions.

sa (number | *) Suspend one or all assertions.

ta Toggle overall assertions state.

x [expr] Exit assertion mode, possibly aborting the assertion command list.

Macros:

def name [replacement-text] Define a macro name.

lm [string] List all (or matching) macros.

tm Toggle the macro substitution mechanism.

undef (name | *) Remove the macro definition for name or all.

 

Record and playback:

tr [@] Toggle the record [record-all] mechanism.

< file Playback from file.

<< file Playback from file with single stepping.

> file Record commands to file.

>> file Append commands to file.

>@ file Record-all debugger commands & output to file.

>>@ file Append all debugger commands & output to file.

">>" is equivalent to ">" for the next four commands.

> Show status of current recording file.

>@ Show status of current record-all file.

>(t | f | c) Turn recording on (t), or off (f), or close the recording file (c).

>@(t | f | c) Turn record-all on (t), or off (f), or close the record-all file (c).

 

Misc:

ss file Save (breakpoint, macro, assertion) state.

tc Toggle case sensitivity in searches.

Repeat previous command.

~ Repeat previous command.

! [command-line] Execute shell (with or without commands).

q Quit debugger.

$addr Unary operator, address of object.

$sizeof Unary operator, size of object.

$in Unary boolean operator, execution in procedure.

# [text] A comment.

I Print debugger status.

M [(t | c) [expr [; expr ...]]] Print or set (text or core) maps.

tM Toggle between default and modifiable core maps.

 

VARIABLES

var Search current procedure and globals.

class::var Search class for variable.

[[class]::]proc:[class::]var Search procedure for variable.

[[class]::]proc:depth:[class::]var Search procedure at depth on stack.

:var or ::var Search for global variable only.

. Shorthand for last thing you looked at.

$var Define or use special variable.

$result Return value of last cmd line procedure call.

$signal Current child process signal number.

$lang Current language for expression evaluation.

$depth Default stack depth for local variables.

$print Display mode for character data.

$line Current source line number.

$malloc Debugger memory allocation (bytes).

$step Instr. count in non-debug before free-run.

$cplusplus C++ feature control flags.

$regname Hardware registers.

$fpa Treat fpa sequence as one instruction.(S300 only)

$fpa_reg Address register for fpa sequences. (S300 only)

 

LOCATIONS

line source line & code address (if any)

#label "

file[:line] "

[file:]proc[:proc[...]][:line|#label] "

[class]::proc[:line|#label] "

proc#line code address (if any)

[class]::proc#line "

name@shared_lib Address of name in shared library

 

 

FORMATS

A format has the form [count]formchar[size]. formchars are:

a String at address.

(b | B) Byte in decimal (either way).

(c | C) (Wide) character.

(d | D) (Long) decimal.

(e | E) E floating point notation (as double).

(f | F) F floating point notation (as double).

(g | G) G floating point notation (as double).

i Machine instruction (disassembly).

(k | K) Formatted structure display (with base classes).

n "Normal" format, based on type.

(o | O) (Long) octal.

p Print name of procedure containing address.

(r | R) Print template of object (with base classes).

s String from pointer.

S Formatted structure display.

(t | T) Print type of object (with base classes).

(u | U) (Long) unsigned decimal.

(w | W) Wide character string (at address).

(x | X) (Long) hexadecimal.

(z | Z) (Long) binary.

Size can be a number or one of the following:

b 1 byte (char)

s 2 bytes (short)

l 4 bytes (long)

D 8 bytes (double - floating point formats only)

L 16 bytes (long double - floating point only)

 

  1. Системные вызовы и взаимодействие с UNIX.

В этой главе речь пойдет о процессах. Скомпилированная программа хранится на диске как обычный нетекстовый файл. Когда она будет загружена в память компьютера и начнет выполняться - она станет процессом.

UNIX - многозадачная система (мультипрограммная). Это означает, что одновременно может быть запущено много процессов. Процессор выполняет их в режиме разделения времени - выделяя по очереди квант времени одному процессу, затем другому, третьему... В результате создается впечатление параллельного выполнения всех процессов (на многопроцессорных машинах параллельность истинная). Процессам, ожидающим некоторого события, время процессора не выделяется. Более того, "спящий" процесс может быть временно откачан (т.е. скопирован из памяти машины) на диск, чтобы освободить память для других процессов. Когда "спящий" процесс дождется события, он будет "разбужен" системой, переведен в ранг "готовых к выполнению" и, если был откачан будет возвращен с диска в память (но, может быть, на другое место в памяти!). Эта процедура носит название "своппинг" (swapping).

Можно запустить несколько процессов, выполняющих программу из одного и того же файла; при этом все они будут (если только специально не было предусмотрено иначе) независимыми друг от друга. Так, у каждого пользователя, работающего в системе, имеется свой собственный процесс-интерпретатор команд (своя копия), выполняющий программу из файла /bin/csh (или /bin/sh).

Процесс представляет собой изолированный "мир", общающийся с другими "мирами" во Вселенной при помощи:

a) Аргументов функции main:

void main(int argc, char *argv[], char *envp[]);

Если мы наберем команду

$ a.out a1 a2 a3