diff --git a/com.oracle.truffle.r.pkgs/graalvm/R/g.R b/com.oracle.truffle.r.pkgs/graalvm/R/g.R
index 11190d265a2eae66b34b16136912e434a2645e2c..a39bb05199fd0a4c31a0846d32d718849cca4537 100644
--- a/com.oracle.truffle.r.pkgs/graalvm/R/g.R
+++ b/com.oracle.truffle.r.pkgs/graalvm/R/g.R
@@ -35,11 +35,16 @@ graalvm.status <- function() {
 #' @param port The port at which the GraalVM agent is listening
 #' @param rlibs The value of the FastR R_LIBS environmental variable. The default 
 #' value is calculated as paste0(graalvm.home, "/language/R/library").
+#' @param javaOpts a character vector of Java options
 #' @examples
 #' graalvm.setup("~/work/graalvm-0.21")
+#' # Running GraalVM in debug mode
+#' graalvm.setup("~/work/graalvm-0.21", javaOpts = c("-Xdebug", "-Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y"))
 #' @export
-graalvm.setup <- function(home, host = "localhost", port = 9876, rlibs = paste0(home, "/language/R/library")) {
-	options(graalvm.home = home, graalvm.host = host, graalvm.port = port, graalvm.rlibs = rlibs)
+graalvm.setup <- function(home, host = "localhost", port = 9876, rlibs = paste0(home, "/language/R/library"), 
+							javaOpts = character(0)) {
+	options(graalvm.home = home, graalvm.host = host, graalvm.port = port, graalvm.rlibs = rlibs,
+	graalvm.javaOpts = paste(sapply(javaOpts, function(opt) { paste0("-J'", opt, "'")  }), collapse = " "))
 }
 
 commandURL <- function(cmd) {
@@ -70,8 +75,9 @@ graalvm.start <- function() {
 	
 		gHost <- getOption("graalvm.host");
 		gPort <- getOption("graalvm.port");
+		javaOpts <- getOption("graalvm.javaOpts");
 	
-		nodeLaunchCmd <- paste0(libEnvVar, " ", gHome, "/bin/node ", serverScriptPath, " ", gHost, " ", gPort, " &")
+		nodeLaunchCmd <- paste0(libEnvVar, " ", gHome, "/bin/node ", javaOpts, " ", serverScriptPath, " ", gHost, " ", gPort, " &")
 		system(nodeLaunchCmd, ignore.stdout = TRUE, ignore.stderr = TRUE)
 	
 		attempts <- 0L
diff --git a/com.oracle.truffle.r.pkgs/graalvm/man/graalvm.Rd b/com.oracle.truffle.r.pkgs/graalvm/man/graalvm.Rd
index a77541d69d508e1551913b79f81c471d5ad9db42..96c0d86c24f63bc09feff2103b15a36d0111a6cb 100644
--- a/com.oracle.truffle.r.pkgs/graalvm/man/graalvm.Rd
+++ b/com.oracle.truffle.r.pkgs/graalvm/man/graalvm.Rd
@@ -37,7 +37,7 @@ g.r("a1")
 g.js("a2")
 g.rb("$a3")
 
-g(a1 = FALSE)
+g(a1 <- FALSE)
 gget(a1)
 a1
 
diff --git a/com.oracle.truffle.r.pkgs/graalvm/man/graalvm.setup.Rd b/com.oracle.truffle.r.pkgs/graalvm/man/graalvm.setup.Rd
index 9007932d6d936816d018cd3c0e24b8e3ec171a76..b79dbedb74454bf354303a725ae392e867eddcb7 100644
--- a/com.oracle.truffle.r.pkgs/graalvm/man/graalvm.setup.Rd
+++ b/com.oracle.truffle.r.pkgs/graalvm/man/graalvm.setup.Rd
@@ -5,7 +5,7 @@
 \title{Set up the GraalVM agent}
 \usage{
 graalvm.setup(home, host = "localhost", port = 9876, rlibs = paste0(home,
-  "/language/R/library"))
+  "/language/R/library"), javaOpts = character(0))
 }
 \arguments{
 \item{home}{The home folder of the GraalVM installation}
@@ -16,10 +16,14 @@ graalvm.setup(home, host = "localhost", port = 9876, rlibs = paste0(home,
 
 \item{rlibs}{The value of the FastR R_LIBS environmental variable. The default 
 value is calculated as paste0(graalvm.home, "/language/R/library").}
+
+\item{javaOpts}{a character vector of Java options}
 }
 \description{
 Set up the GraalVM agent
 }
 \examples{
 graalvm.setup("~/work/graalvm-0.21")
+# Running GraalVM in debug mode
+graalvm.setup("~/work/graalvm-0.21", javaOpts = c("-Xdebug", "-Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y"))
 }