Turn on DEBUG in C sources files
//
// Turn on debugging if desired.
//
char* env_ptr = getenv("DEBUG");
if (env_ptr != NULL && toupper(*env_ptr) == 'Y')
{
SET_ZFLAG(ZFLAG_DEBUG_EVERYTHING);
}
12379 users tagging and storing useful source code snippets
Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
//
// Turn on debugging if desired.
//
char* env_ptr = getenv("DEBUG");
if (env_ptr != NULL && toupper(*env_ptr) == 'Y')
{
SET_ZFLAG(ZFLAG_DEBUG_EVERYTHING);
}
// insert code here..
// part of embedded javascript code log49 = [];//log49 is global variable. var num = 1; log49.push('num = '+num); // log the state of num num = num+1; log49.push('second num ='+num); // again.
window.onerror = function(mes,file,num){ alert([ "file : " + file, "line : " + num, "message : " + mes ].join("\n")); return true; }
function var_dump(obj) { if(typeof obj == "object") { return "Type: "+typeof(obj)+((obj.constructor) ? "\nConstructor: "+obj.constructor : "")+"\nValue: " + obj; } else { return "Type: "+typeof(obj)+"\nValue: "+obj; } }//end function var_dump
module DebugHelper def self.append_features(controller) #:nodoc: controller.ancestors.include?(ActionController::Base) ? controller.add_template_helper(self) : super end IGNORE = ["template_root", "template_class", "response", "template", "session", "url", "params", "subcategories", "ignore_missing_templates", "cookies", "request", "logger", "flash", "headers" ] def debug_popup popup_create do |script| script << add( "<HTML><HEAD><TITLE>Smarty Debug Console_#{@controller.class.name}</TITLE></HEAD><BODY bgcolor=#ffffff>" ) script << add( "<table border=0 width=100%>" ) script << add( "<tr bgcolor=#cccccc><th colspan=2>Rails Debug Console</th></tr>" ) script << add( "<tr bgcolor=#cccccc><td colspan=2><b>assigned template variables:</b></td></tr>" ) @controller.assigns.each do |key, value| script << add ("<tr bgcolor=#eeeeee><td valign=top><tt><font color=blue>#{h key}</font></tt></td><td><tt><font color=green>#{dump_obj(value)}</font></tt></td></tr>") unless IGNORE.include?(key) end unless @controller.assigns.nil? script << add( "<tr bgcolor=#cccccc><td colspan=2><b>request parameters:</b></td></tr>" ) @controller.params.each do |key, value| script << add ("<tr bgcolor=#eeeeee><td valign=top><tt><font color=blue>#{h key}</font></tt></td><td><tt><font color=green>#{dump_obj(value)}</font></tt></td></tr>") unless IGNORE.include?(key) end unless @controller.params.nil? script << add( "<tr bgcolor=#cccccc><td colspan=2><b>session variables:</b></td></tr>" ) @controller.session.instance_variable_get("@data").each do |key, value| script << add ("<tr bgcolor=#eeeeee><td valign=top><tt><font color=blue>#{h key}</font></tt></td><td><tt><font color=green>#{dump_obj(value)}</font></tt></td></tr>") unless IGNORE.include?(key) end unless @controller.session.instance_variable_get("@data").nil? script << add( "<tr bgcolor=#cccccc><td colspan=2><b>flash variables:</b></td></tr>" ) @controller.instance_variable_get("@flash").each do |key, value| script << add ("<tr bgcolor=#eeeeee><td valign=top><tt><font color=blue>#{h key}</font></tt></td><td><tt><font color=green>#{dump_obj(value)}</font></tt></td></tr>") unless IGNORE.include?(key) end unless @controller.instance_variable_get("@flash").nil? end end private def popup_create script = "<SCRIPT language=javascript>\n<!--\n" script << "_rails_console = window.open(\"\",\"#{@controller.class.name}\",\"width=680,height=600,resizable,scrollbars=yes\");\n" yield script script << "_rails_console.document.close();\n" script << "-->\n</SCRIPT>" end def add(msg) "_rails_console.document.write(\"#{msg}\")\n" end def dump_obj(object) begin Marshal::dump(object) "<pre>#{h(object.to_yaml).gsub(" ", " ").gsub("\n", "<br/>\"+\n\"" )}</pre>" rescue Object => e # Object couldn't be dumped, perhaps because of singleton methods -- this is the fallback "<pre>#{h(object.inspect)}</pre>" end end end