Samsung/netcoredbg

Name: netcoredbg

Owner: Samsung

Description: NetCoreDbg is a managed code debugger with MI interface for CoreCLR.

Created: 2017-12-12 01:15:07.0

Updated: 2018-01-10 11:15:45.0

Pushed: 2017-12-12 13:08:33.0

Homepage: null

Size: 232

Language: C++

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Managed code debugger for .NET Core runtime

The debugger provides GDB/MI interface and allows to debug .NET apps using ICorDebug API of CoreCLR.

Build (Ubuntu x64)
  1. Install .NET Core SDK 2.x from https://dot.net/core

  2. Build and install coreclr and corefx, see https://github.com/dotnet/coreclr for details

  3. Use the following script as a reference to build the debugger (assuming current directory is project root):

    in/sh
    
    th to coreclr source root
    CLR_PATH=$HOME/git/coreclr
    th to coreclr build output (use .Relese for release build)
    CLR_BIN=$CORECLR_PATH/bin/Product/Linux.x64.Debug
    th to generated coreclr overlay (where coreclr and corefx binaries are installed)
    CLR_OVERLAY=$HOME/git/overlay
    
    rf build
    r build
    uild
    
    lang CXX=clang++ cmake ../ -DCMAKE_INSTALL_PREFIX=$CORECLR_OVERLAY -DCLR_DIR=$CORECLR_PATH -DCLR_BIN_DIR=$CORECLR_BIN -DCLR_CMAKE_TARGET_ARCH_AMD64=1 -DCORECLR_SET_RPATH=\$ORIGIN
     -j
     install
    

    The script produces netcoredbg and SymbolReader.dll binaries inside the overlay directory.

Build (GBS)
  1. Prepare

    Prepare GBS environment and add a path to local repository to your .gbs.conf.

    See the guide here http://suprem.sec.samsung.net/confluence/display/SPTDTLC/Profiler+architecture

  2. Build modified coreclr and coreclr-devel packages

    Apply the patches from patches/coreclr and build CoreCLR from https://review.tizen.org/gerrit/#/admin/projects/platform/upstream/coreclr

    This step will produce updated coreclr and mscorlib RPMs for installing on the device/emulator. Also it will generate the coreclr-devel package in the local repo which is necessary for building the debugger.

  3. Build the netcoredbg package

    Clone the repo and build as usual:

    build -A armv7l --include-all --spec netcoredbg.spec
    
  4. Build modified dotnet-launcher package

    Apply the patches from patches/dotnet-launcher and build dotnet-launcher from https://review.tizen.org/gerrit/#/admin/projects/platform/core/dotnet/launcher

Usage
  1. Install packages on the device/emulator

    Install RPMs from local GBS repo: coreclr, mscorlib, dotnet-launcher and netcoredbg.

    You may also need to remove AOT images:

    shell "find / -name '*.ni.dll' -exec rm {} \;"
    

    Reboot the device/emulator.

  2. Use modified Visual Studio Tools for Tizen

    Build vs-tools-cps project from https://github.sec.samsung.net/i-kulaychuk/vs-tools-cps/tree/netcoredbg-attach and launch the debug session with F5.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.