Skip to content

Instantly share code, notes, and snippets.

@sideshowcoder
Last active June 4, 2020 12:20
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save sideshowcoder/b6fadb6a8f074bfe34c1 to your computer and use it in GitHub Desktop.
Save sideshowcoder/b6fadb6a8f074bfe34c1 to your computer and use it in GitHub Desktop.
debug erlang nif code with lldb
#!/bin/sh
#
# %CopyrightBegin%
#
# Copyright Ericsson AB 1996-2012. All Rights Reserved.
#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
#
# %CopyrightEnd%
#
ROOTDIR="/usr/local/Cellar/erlang/R16B03-1/lib/erlang"
BINDIR=$ROOTDIR/erts-5.10.4/bin
EMU=beam
PROGNAME=`echo $0 | sed 's/.*\///'`
export EMU
export ROOTDIR
export BINDIR
export PROGNAME
# export USE_LLDB=1 in the shell to run erlang under the lldb debugger
# this is useful for debugging nifs
if [ ! -z "$USE_LLDB" ]; then
lldb -- $BINDIR/erlexec ${1+"$@"}
else
exec $BINDIR/erlexec ${1+"$@"}
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment