Menu

Tree [68d188] master /
 History

HTTPS access


File Date Author Commit
 g++ 2024-05-17 andreas-b andreas-b [d11c9d] - rename .vpj
 gcc 2024-05-05 andreas-b andreas-b [bd862a] - v1.20
 ibmcpp 2024-05-05 andreas-b andreas-b [95f17f] - Fix grammar error ;-)
 openwatcom 2024-05-05 andreas-b andreas-b [95f17f] - Fix grammar error ;-)
 .gitignore 2024-02-11 andreas-b andreas-b [73b6e7] - remove *.xqs files
 COPYING 2024-02-17 andreas-b andreas-b [42f6ce] - Add license info
 LICENSE 2024-05-05 andreas-b andreas-b [2d8a54] - add missing LICENSE file
 PMPRINTF.H 2024-05-05 andreas-b andreas-b [5c1431] - Fix C++ warnings ( (char *) to (char const *)...
 README.md 2024-05-18 andreas-b andreas-b [68d188] -v.1.30
 abtrace.c 2024-05-05 andreas-b andreas-b [5c1431] - Fix C++ warnings ( (char *) to (char const *)...
 abtrace.h 2024-05-05 andreas-b andreas-b [5c1431] - Fix C++ warnings ( (char *) to (char const *)...
 main.c 2024-05-17 andreas-b andreas-b [aa2d32] - fix comment and #include
 make_7z.cmd 2024-05-18 andreas-b andreas-b [68d188] -v.1.30
 makefile 2024-02-17 andreas-b andreas-b [4b5bcc] - Add simplest example program

Read Me

abtrace - supplimental package to PmPrintf

This abtrace package is a simple wrapper for the PmPrintf package which can
be downloaded from hobbes (https://hobbesarchive.com/) or from the official site
at https://sourceforge.net/projects/pmprintf-os-2-debug-helper/files/

Advantages compared to using pmprintf.lib directly

  • you don't need to take care if the system your application runs does have
    pmprintf.dll installed or not
  • you don't need to switch between release builds (without pmprintf loggging)
    and debug builds (with pmprintf logging and dependency to pmprintf.dll) in
    your program because overhead is minimal
  • you don't need to link the pmprintf.lib to your application
  • you only have to look at the very small and simple main.c in the root folder
    to learn how to use PmPrintf package in your program

How to use

  • you need to compile abtrace.c and link together abtrace.obj with your
    application.
  • you need abtrace.h and pmprintf.h reachable for that (included)
  • Look at main.c how to use xTRACEF() or xPmprinf() functions in your code.
    Parameters are the same as with printf().

If you wanna see the debug messages produced by xTRACEF() start PmPrintf.exe
from PmPrintf package. You can log to a file too. See included help file.

If you wanna have more insight -

  • in the capabilities of PmPrintf, see the example main.c files in the
    sub-directories. These ...\main.c files test all the features of PmPrintf.
    Select your prefered tool chain and make the expamle. F.i. in gcc use m.cmd
    which calls GNU make. n.cmd in \ibmcpp uses nmake32. w.cmd in \openwatcom uses
    wmake.

You can also use make/nmake/wmake directly with the included makefiles but mind
that DEBUG_PMPRINTF and DEBUG environment variables need to be set.

History

v1.30 20240517
- Cosmetic cleanup in simplest example and g++ project
- Make a 7z archive
v1.20 20240504
- Make it C++ compatible
v1.10 20240401
- Fix loading pmprintf.dll in case it's not needed before by other applications
v1.00 20240222
- First official release

License

/* Copyright 2023-2024 Andreas Buchinger

    Any use of this project's code by GitHub Copilot or any other AI or training software, past or present, is not allowed without our written permission. We do not consent to GitHub's use of this project's code in Copilot or any similar technologies no matter by whom nor how they are called. Otherwise license terms applies as stated below.

    This file is part of abtrace. abtrace is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
abtrace 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 Affero General Public License for more details.
    You should have received a copy of the GNU Affero General Public License along with abtrace. If not, see <https://www.gnu.org/licenses/>.

*/