Problema al depurar los scripts de contenido en una extensión de Chrome utilizando require.js

Para cargar módulos en los scripts de contenido, estoy usando el siguiente código (fuentehttp://prezi.com/rodnyr5awftr/requirejs-in-chrome-extensions/):

require.load = function (context, moduleName, url) {
    var xhr;
    xhr = new XMLHttpRequest();
    xhr.open("GET", chrome.extension.getURL(url) + '?r=' + new Date().getTime(), true);
    xhr.onreadystatechange = function (e) {
        if (xhr.readyState === 4 && xhr.status === 200) {
            eval(xhr.responseText);
            context.completeLoad(moduleName)
        }
    };
    xhr.send(null);
};

El problema ocurre cuando se realiza la depuración a través de la consola Chrome. Siempre que hay un error en uno de mis módulos, solo informa el error ocurrido en una función anónima, pero no me informa qué módulo o línea require.js en ese módulo ocurrió el error, sino que siempre apunta a la línea eval en el guión anterior

Dado que muchas personas parecen estar usando diferentes variaciones del código anterior al usar require.js con extensiones de chrome, debe haber una forma sencilla de obtener más información en la consola de depuración, simplemente no sé qué es eso :).

¡¡Gracias por tu ayuda!!

ACTUALIZACIÓN 4/1: Cambiar la declaración eval () anterior para usar la Función () parece haber resuelto el problema porque la consola chrome agrega la información de la adición. (El crédito para este trabajo va a estepregunta).

Me doy cuenta de que las dos funciones no son totalmente intercambiables (veresta pregunta). Si alguien está al tanto de cualquier inconveniente en el uso de Function () en lugar de eval () en el código anterior, ¡hágamelo saber!

Respuestas a la pregunta(1)

Su respuesta a la pregunta