HP OpenVMS Systems

ask the wizard
Content starts here


» close window

The Question is:

I was looking for a way to do
the equivalent of a $SET PROCESS/NODUMP
from inside a C executable.
ie, dithering w/ PHD$x_IMGDMP.
Are there any un'doc'ed, unsupported,
can-go-away-at-any-time routines
that could be called from user-mode
to do this safely?
the end-aim was to get a exe
that writes process dumps at most only once;
(the cond handlers within dismiss most
exceptions, allowing the exe to slog on ...)
thx -

The Answer is :

  It's kernel-mode time...
  As of this writing, you will have to use a sys$cmkrnl call to a small
  user-written routine which sets (or clears) the bit phd$v_imgdmp in
  the longword ctl$gl_phd.
  The OpenVMS Wizard would encourage debugging this kernel-mode code on
  a standalone system, for what should be obvious reasons.
  Alternatively, you might want to leave the image dumps disabled by
  default, and generate them only when you require it.  For instance,
  you can request the generation of an image dump via the (supported)
  SS$_IMGDMP signal:
	lib$signal( SS$_IMGDMP ) ;
  This approach would involve a condition handler that handles the
  expected signals, then requests an image dump via signal during any
  unhandled conditions.  And this approach avoids kernel-mode code.

answer written or last revised on ( 16-APR-2001 )

» close window