🌐
GitHub
github.com › kushaldas › elfutils › blob › master › libdw › libdw.h
elfutils/libdw/libdw.h at master · kushaldas/elfutils
/* Interfaces for libdw. Copyright (C) 2002-2010 Red Hat, Inc. This file is part of Red Hat elfutils. · Red Hat elfutils is free software; you can redistribute it and/or modify · it under the terms of the GNU General Public License as published by the ·
Author   kushaldas
🌐
Debian
packages.debian.org › sid › arm64 › libdw-dev › filelist
File list of package libdw-dev in sid of architecture arm64
/ Packages / sid / libdw-dev / arm64 / File list · /usr/include/dwarf.h /usr/include/elfutils/known-dwarf.h /usr/include/elfutils/libdw.h /usr/include/elfutils/libdwelf.h /usr/include/elfutils/libdwfl.h /usr/lib/aarch64-linux-gnu/libdw.a /usr/lib/aarch64-linux-gnu/libdw.so /usr/lib/aarch64-linux-gnu/pkgconfig/libdw.pc /usr/share/doc/libdw-dev/changelog.Debian.gz /usr/share/doc/libdw-dev/changelog.gz /usr/share/doc/libdw-dev/copyright ·
🌐
GitHub
github.com › kushaldas › elfutils › tree › master › libdw
elfutils/libdw at master · kushaldas/elfutils
My elfutils fork. Contribute to kushaldas/elfutils development by creating an account on GitHub.
Author   kushaldas
🌐
Debian
packages.debian.org › sid › amd64 › libdw-dev › filelist
File list of package libdw-dev in sid of architecture amd64
/ Packages / sid / libdw-dev / amd64 / File list · /usr/include/dwarf.h /usr/include/elfutils/known-dwarf.h /usr/include/elfutils/libdw.h /usr/include/elfutils/libdwelf.h /usr/include/elfutils/libdwfl.h /usr/lib/x86_64-linux-gnu/libdw.a /usr/lib/x86_64-linux-gnu/libdw.so /usr/lib/x86_64-linux-gnu/pkgconfig/libdw.pc /usr/share/doc/libdw-dev/changelog.Debian.gz /usr/share/doc/libdw-dev/changelog.gz /usr/share/doc/libdw-dev/copyright ·
🌐
GitHub
github.com › facebook › fbghc › blob › master › rts › Libdw.c
fbghc/rts/Libdw.c at master · facebook/fbghc
* Producing DWARF-based stacktraces with libdw. * * --------------------------------------------------------------------------*/ · #include "Rts.h" #include "RtsUtils.h" #include "Libdw.h" · #if USE_LIBDW · · #include <elfutils/libdwfl.h> #include <dwarf.h> #include <unistd.h> ·
Author   facebook
Find elsewhere
🌐
GNU
sourceware.org › elfutils
The elfutils project
All releases: ftp://sourceware.org/pub/elfutils/ or https://sourceware.org/elfutils/ftp/ Tests code coverage for current git, for the last release, old versions and older git snapshots. Included libraries: libelf · elf32, elf64 and gelf functions to read, modify and create ELF files. libdw ·
🌐
GitHub
github.com › cuviper › elfutils › blob › master › libdw › libdwP.h
elfutils/libdw/libdwP.h at master · cuviper/elfutils
/* Internal memory handling. This is basically a simplified · reimplementation of obstacks. Unfortunately the standard obstack · implementation is not usable in libraries. */ struct libdw_memblock · { size_t size; size_t remaining; struct libdw_memblock *prev; char mem[0]; } *mem_tail; ·
Author   cuviper
🌐
Arch Linux
archlinux.org › packages › core › x86_64 › libelf › files
Arch Linux - libelf 0.194-1 (x86_64) - File List
usr/include/elfutils/libasm.h · usr/include/elfutils/libdw.h · usr/include/elfutils/libdwelf.h · usr/include/elfutils/libdwfl.h · usr/include/elfutils/libdwfl_stacktrace.h · usr/include/elfutils/version.h · usr/include/gelf.h · usr/include/libelf.h · usr/include/nlist.h ·
🌐
Google Groups
groups.google.com › g › linux.kernel › c › 3vd722sFhzI
[PATCH] perf: Fix libdw-dev package name in error message
Em Mon, Apr 26, 2010 at 03:27:03PM +0100, Stefan Hajnoczi escreveu: > The headers required for DWARF support are provided by the libdw-dev > package in Debian-based distros. This patch corrects the elfutils-dev > package name to libdw-dev in the Makefile error message when libdw.h is > not found.
🌐
GitHub
github.com › kurniawano › libdw
GitHub - kurniawano/libdw: Library for Digital World
Libdw is a library used in 10.009 Digital World conducted at SUTD freshmore.
Author   kurniawano
🌐
Debian
packages.debian.org › sid › armhf › libdw-dev › filelist
File list of package libdw-dev in sid of architecture armhf
/ Packages / sid / libdw-dev / armhf / File list · /usr/include/dwarf.h /usr/include/elfutils/known-dwarf.h /usr/include/elfutils/libdw.h /usr/include/elfutils/libdwelf.h /usr/include/elfutils/libdwfl.h /usr/include/elfutils/libdwfl_stacktrace.h /usr/lib/arm-linux-gnueabihf/libdw.a /usr/lib/arm-linux-gnueabihf/libdw.so /usr/lib/arm-linux-gnueabihf/pkgconfig/libdw.pc /usr/share/doc/libdw-dev/changelog.Debian.gz /usr/share/doc/libdw-dev/changelog.gz /usr/share/doc/libdw-dev/copyright ·
🌐
Debian
packages.debian.org › buster › armel › libdw-dev › filelist
Debian -- File list of package libdw-dev/buster/armel
/ Packages / buster / libdw-dev / armel / File list · /usr/include/dwarf.h /usr/include/elfutils/known-dwarf.h /usr/include/elfutils/libdw.h /usr/include/elfutils/libdwelf.h /usr/include/elfutils/libdwfl.h /usr/lib/arm-linux-gnueabi/libdw.a /usr/lib/arm-linux-gnueabi/libdw.so /usr/lib/arm-linux-gnueabi/libebl.a /usr/lib/arm-linux-gnueabi/pkgconfig/libdw.pc /usr/share/doc/libdw-dev/changelog.Debian.gz /usr/share/doc/libdw-dev/changelog.gz /usr/share/doc/libdw-dev/copyright ·
🌐
Reddit
reddit.com › r/haskell › so, like, what's up with libdw, exactly?
r/haskell on Reddit: So, like, what's up with libdw, exactly?
October 29, 2017 -

The mysterious module GHC.ExecutionStack states

Your GHC must have been built with libdw support for this to work.

 user@host:~$ ghc --info | grep libdw
 ,("RTS expects libdw","YES")

Using stack at least, even with the latest GHC 8.2 nightly snapshot, I instead get this:

$ stack exec -- ghc --info | grep libdw
47: ,("RTS expects libdw","NO")

and indeed, testing out the snippet in the module's documentation simply prints out Nothing.

Now, apart from the source code for protolude, it would appear that absolutely no open-source code imports GHC.ExecutionStack. There is barely any documentation on what this should look like, and more importantly, whether I have to build my own version of GHC to enable this feature.

I'm just looking for pain-free stack traces. +RTS -xc spurts out a thousand stack traces a second as it appears that GHC uses exceptions for multithreading and/or STM, and -xc seems to print out a stack trace even if the exception was caught (I'm guessing here -- -xc's output is too noisy to be useful). Even using profiling is not entirely useful, as now the uncaught exception I'm trying to fix is printed without an accompanying stack trace; moreover, I would like to leave stack traces on permanently, and I don't want to enable profiling in my final build.

Does anyone have any experience with this module, or some background knowledge as to why this functionality appears to be disabled by default? Remember, I'm trying to get full, permanently-on stack traces, which I can use to debug code running on production, so that I'm not left stumped when some random code throws a terse "*** Exception: Prelude.undefined" at me...

Thoughts and prayers?

🌐
GitHub
github.com › LLNL › Caliper › blob › master › cmake › FindLibDw.cmake
Caliper/cmake/FindLibDw.cmake at master · llnl/Caliper
# Try to find LIBDW headers and libraries. # # Usage of this module as follows: # # find_package(ElfUtils) # # Variables used by this module, they can change the default behaviour and need · # to be set before calling find_package: # # LIBDW_PREFIX Set this variable to the root installation of ·
Author   llnl
🌐
Debian
packages.debian.org › bullseye › libdw-dev
Debian -- Details of package libdw-dev in bullseye
This package contains development libraries and header files for libdw1.
🌐
Debian
packages.debian.org › sid › libdw-dev
Details of package libdw-dev in sid
JavaScript is disabled in your browser · Please enable JavaScript to proceed · A required part of this site couldn’t load. This may be due to a browser extension, network issues, or browser settings. Please check your connection, disable any ad blockers, or try using a different browser