From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14515 invoked by alias); 31 May 2007 22:38:17 -0000 Received: (qmail 14507 invoked by uid 22791); 31 May 2007 22:38:17 -0000 X-Spam-Check-By: sourceware.org Received: from py-out-1112.google.com (HELO py-out-1112.google.com) (64.233.166.183) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 31 May 2007 22:38:15 +0000 Received: by py-out-1112.google.com with SMTP id a25so894609pyi for ; Thu, 31 May 2007 15:38:13 -0700 (PDT) Received: by 10.65.105.3 with SMTP id h3mr2075484qbm.1180651092798; Thu, 31 May 2007 15:38:12 -0700 (PDT) Received: by 10.65.237.20 with HTTP; Thu, 31 May 2007 15:38:12 -0700 (PDT) Message-ID: Date: Thu, 31 May 2007 22:38:00 -0000 From: "Ray Bejjani" To: gdb@sourceware.org Subject: Turning off printing of char pointer contents MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-05/txt/msg00186.txt.bz2 Hi, I'm trying to turn off printing the contents of char pointers. I'm use GDB to debug an embedded app remotely. In some instances the pointers are left uninitialised and can point to sections of memory that cause system crashes when accessed (or they cause external hardware to change state when read). I am using DDD on top of GDB but I can reproduce the issue with GDB as well. GDB seems to treat C strings in a special manner, attempting to print the contents until it sees an null terminator or hit the limit set by the "print elements" setting. My system crashes when this happens. Unfortunately, doing a set print elements 0 is interpreted as no limit. Are there any other settings I can use to suppress this feature? In particular, I would like it to treat char (or unsigned char) pointers like it does other pointers where it doesn't attempt to dereference them. I would still like to be able to display/print the contents of strings when needed but only on demand. Failing that, where in the code should I look to try and force this to not happen? Thank you, Ray Bejjani