1 .\"
   2 .\" This file and its contents are supplied under the terms of the
   3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
   4 .\" You may only use this file in accordance with the terms of version
   5 .\" 1.0 of the CDDL.
   6 .\"
   7 .\" A full copy of the text of the CDDL should have accompanied this
   8 .\" source.  A copy of the CDDL is also available via the Internet at
   9 .\" http://www.illumos.org/license/CDDL.
  10 .\"
  11 .\"
  12 .\" Copyright 2015 Joyent, Inc.
  13 .\"
  14 .Dd May 11, 2016
  15 .Dt PDELBKPT 3PROC
  16 .Os
  17 .Sh NAME
  18 .Nm Pdelbkpt
  19 .Nd clear a breakpoint in a process
  20 .Sh SYNOPSIS
  21 .Lb libproc
  22 .In libproc.h
  23 .Ft int
  24 .Fo Pdelbkpt
  25 .Fa "struct ps_prochandle *P"
  26 .Fa "uintptr_t address"
  27 .Fa "ulong_t saved"
  28 .Fc
  29 .Sh DESCRIPTION
  30 The
  31 .Fn Pdelbkpt
  32 function removes the breakpoint installed at
  33 .Fa address
  34 from process
  35 .Fa P .
  36 Restoring the instruction present in
  37 .Fa saved .
  38 .Pp
  39 If the instruction at
  40 .Fa address
  41 is no longer the architecture-specific breakpoint instruction, then
  42 .Fa saved
  43 is not restored, but the function still returns successfully.
  44 This behavior is done due to the presence of setting breakpoints in
  45 self-modifying code, e.g. procedure linkage tables.
  46 .Pp
  47 The
  48 .Fn Pdelbkpt
  49 function only works on running processes, such as those created through
  50 .Xr Pgrab 3PROC
  51 and
  52 .Xr Pcreate 3PROC .
  53 Attempting to remove a breakpoint from process handles to core files,
  54 zombie processes, or ELF objects will fail.
  55 .Sh RETURN VALUES
  56 Upon successful completion, the
  57 .Fn Pdelbkpt
  58 function removes the breakpoint and
  59 returns
  60 .Sy 0 .
  61 Otherwise,
  62 .Sy -1
  63 is returned, and
  64 .Sy errno
  65 is set to indicate the error.
  66 .Sh ERRORS
  67 For a full list of possible errors see the
  68 .Sy DIAGNOSTICS
  69 section in
  70 .Xr proc 4 .
  71 .Pp
  72 The
  73 .Fn Pdelbkpt
  74 function will fail with:
  75 .Bl -tag -width Er
  76 .It Er ENOENT
  77 The handle
  78 .Fa P
  79 refers to a grabbed core file, a zombie process, or an ELF object.
  80 .El
  81 .Sh INTERFACE STABILITY
  82 .Sy Uncommitted
  83 .Sh MT-LEVEL
  84 See
  85 .Sy LOCKING
  86 in
  87 .Xr libproc 3LIB .
  88 .Sh SEE ALSO
  89 .Xr libproc 3LIB ,
  90 .Xr Pcreate 3PROC ,
  91 .Xr Pgrab 3PROC ,
  92 .Xr Pgrab_core 3PROC ,
  93 .Xr Pgrab_file 3PROC ,
  94 .Xr Psetbkpt 3PROC ,
  95 .Xr proc 4