Skip to content
This repository has been archived by the owner on Dec 22, 2021. It is now read-only.

Java Chaincode remote debug #47

Open
bendre opened this issue Apr 16, 2020 · 0 comments
Open

Java Chaincode remote debug #47

bendre opened this issue Apr 16, 2020 · 0 comments

Comments

@bendre
Copy link

bendre commented Apr 16, 2020

I am looking for Java chaincode remote debugging setup/configuration
Expectation:

  1. Able to do hit breakpoint/ line debug java chaincode on my local machine.
  2. connect local code to remote chaincode via 'java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000'

Environment:

  1. Fabric networking running on local machine via docker compose (Fabcar) network
  2. Two Peer / each Org (Two Org), raft ordered, cli, couchdb
  3. Java chaincode deployment on peer.
  4. Able to call query on chaindode

Configuration:

  1. Peer compose yaml property set to : 'command: peer node start --peer-chaincodedev=true'
  2. Peer compose yaml property set to: CORE_CHAINCODE_LOGGING_LEVEL=DEBUG

Observation: on chaincode container 'dev-peer0.org1.example.com-fabcarv1-99a85fb372cb80ca5efcc11f7dc3debe3bcec4fd8b22b81cae9273ca43332265'
Files under location: /root/chaincode-java

  1. build.sh chaincode lib start
  2. Below is the script in above mentioned 'start' script
    #!/usr/bin/env bash
    set -ex

ROOT_DIR=/root/chaincode-java
LIB_DIR=${ROOT_DIR}/lib
CHAINCODE_DIR=${ROOT_DIR}/chaincode
LIB_JARS=$(find ${LIB_DIR} -name ".jar" | paste -s -d ":" -)
CHAINCODE_JARS=$(find ${CHAINCODE_DIR} -name "
.jar" | paste -s -d ":" -)
NUM_CHAINCODE_JARS=$(find ${CHAINCODE_DIR} -name "*.jar" | wc -l)

if [ -f ${CHAINCODE_DIR}/.uberjar ]; then
if [ ${NUM_CHAINCODE_JARS} -ne 1 ]; then
>&2 echo "Cannot start uber JAR as more than one JAR file was found in the chaincode directory"
exit 255
fi
exec java -jar ${CHAINCODE_JARS} "$@"
else
exec java -cp ${CHAINCODE_JARS}:${LIB_JARS} org.hyperledger.fabric.contract.ContractRouter "$@"
fi

How to perform the below steps:

  1. how to add jvm argument xdebug in start scrip? so that it will open debug port
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant