SORU
15 Mayıs 2009, Cuma


Nasıl inşa hedefin dışında gcc hata ayıklama simge oluşturmak için?

Hata ayıklama simge-g seçeneği kullanarak oluşturmak biliyorum. Ancak bu sembol hedef dosya içinde gömülü. Gcc hata ayıklama simge oluşturmak dışında sonuç/kütüphane yürütülebilir ki? Gibi .VC derleyici mi windows pdb dosyası.

CEVAP
15 Mayıs 2009, Cuma


Kullanmak gerekirobjcopy4**:

objcopy --only-keep-debug "${tostripfile}" "${debugdir}/${debugfile}"
strip --strip-debug --strip-unneeded "${tostripfile}"
objcopy --add-gnu-debuglink="${debugdir}/${debugfile}" "${tostripfile}"

Bash script aşağıda bir ile dosyalarına hata ayıklama bilgileri ayırmak için kullanıyorum .bir hata ayıklama uzantısı .hata ayıklama dizin. Bu şekilde tar kütüphaneler ve yürütülebilir bir katran ve dosya edebilirim .başka dizinlerde hata ayıklama. Eğer hata ayıklama bilgisi daha sonra eklemek istiyorum eğer ben sadece hata ayıklama tar dosyasını ayıklamak ve simgesel hata ayıklama bilgisi var işte.

Bu bash komut:

#!/bin/bash

scriptdir=`dirname ${0}`
scriptdir=`(cd ${scriptdir}; pwd)`
scriptname=`basename ${0}`

set -e

function errorexit()
{
  errorcode=${1}
  shift
  echo $@
  exit ${errorcode}
}

function usage()
{
  echo "USAGE ${scriptname} <tostrip>"
}

tostripdir=`dirname "$1"`
tostripfile=`basename "$1"`


if [ -z ${tostripfile} ] ; then
  usage
  errorexit 0 "tostrip must be specified"
fi

cd "${tostripdir}"

debugdir=.debug
debugfile="${tostripfile}.debug"

if [ ! -d "${debugdir}" ] ; then
  echo "creating dir ${tostripdir}/${debugdir}"
  mkdir -p "${debugdir}"
fi
echo "stripping ${tostripfile}, putting debug info into ${debugfile}"
objcopy --only-keep-debug "${tostripfile}" "${debugdir}/${debugfile}"
strip --strip-debug --strip-unneeded "${tostripfile}"
objcopy --add-gnu-debuglink="${debugdir}/${debugfile}" "${tostripfile}"
chmod -x "${debugdir}/${debugfile}"

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Authority

    Android Auth

    3 NİSAN 2011
  • Ash100HD

    Ash100HD

    29 EKİM 2011
  • The Verge

    The Verge

    8 AĞUSTOS 2006