|
Mailing Lists
|
Home /
Groups /
ColdFusion Talk (CF-Talk)
debugging in cfscript
Author: Carl Von Stetten
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349855
Oops. I missed that. Nevermind! :-[
On 2/9/2012 10:10 AM, Matt Quackenbush wrote:
----- Excess quoted text cut - see Original Post for more -----
Author: Matt Quackenbush
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349854
Nopers. Daniel has an <cffunction name="cf_abort"> in his CFC. See his
previous posts in the thread.
On Thu, Feb 9, 2012 at 12:04 PM, Carl Von Stetten
<vonner.lists@vonner.net>wrote:
----- Excess quoted text cut - see Original Post for more -----
Author: Carl Von Stetten
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349853
Rex,
I think cf_abort is a custom tag, not a UDF, so it would not be called
using cf_abort().
-Carl
On 2/9/2012 9:19 AM, Rex wrote:
----- Excess quoted text cut - see Original Post for more -----
Author: Rex
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349851
yes, but to call cf_abort, you want to do cf_abort()
It's like calling #now# instead of #now()#
- Rex
On 2/9/2012 5:46 AM, daniel kessler wrote:
>> you have cf_abort in your code instead of cf_abort()
> I am using cf_abort.
Author: daniel kessler
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349848
> Unfortunately, I also don't receive the dump or the abort. I even
> built an array to dump to simplify the test and assure that there's
> dumpable data. <sigh> I guess I'm just not used to this. Maybe the
> logs will reveal what happened.
ok, it looks like the cf_dump() is working. If I put a <cfabort> inside
it's function. I tried following the cf_dump() with a cf_abort for it's own
function, but that didn't do the abort and I didn't see the dump (which should
even display without the abort), but once I put the <cfabort> inside the
cf_dump function, I saw the output.
thank you everyone for your help.
daniel
Author: daniel kessler
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349846
>Looks like the issue is that you have the cf_dump() and cf_abort() calls
>outside of the curly braces.
ok, that's a thought that I hadn't considered. I moved them inside the brackets
and now I don't receive an error. Thank you!
Unfortunately, I also don't receive the dump or the abort. I even built an array
to dump to simplify the test and assure that there's dumpable data. <sigh>
I guess I'm just not used to this. Maybe the logs will reveal what happened.
daniel
Author: daniel kessler
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349845
>you have cf_abort in your code instead of cf_abort()
I am using cf_abort.
Author: Azadi Saryev
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349844
you have cf_abort in your code instead of cf_abort()
On Thu, Feb 9, 2012 at 04:20, Matt Quackenbush <quackfuzed@gmail.com>
wrote:
----- Excess quoted text cut - see Original Post for more -----
Author: Matt Quackenbush
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349842
Looks like the issue is that you have the cf_dump() and cf_abort() calls
outside of the curly braces.
if ( // all those items )
{
// stuff here
}
cf_dump(dbResult);
cf_abort();
else
// other stuff
You need to move those two items inside of the }.
HTH
----- Excess quoted text cut - see Original Post for more -----
Author: daniel kessler
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349840
>The error code mentions Line 63 as the start of an if () statement, and
>Line 52 as the start of the <cfscript> tag. We'll need probably the
entire
>if () block at the least, as it would seem the issue lies in there.
>
>Hard to speculate based solely upon the error message, as CF is notorious
>for providing rather cryptic error messages which often send one off
>chasing ghosts.
In this case, it is reporting loosely. If I comment out the cf_abort, there is
no error. So it has a problem with the cf_abort. That being a problem, messes
with the next line, the "else". Since the else is part of the IF, it complains
about the whole IF. Really, it's complaining about the cf_abort, like it doesn't
know what it is.
However, the IF is several hundred lines long. Here's the relevant part up to
the 'else' that works fine with the cf_abort commented out:
if (len(arguments.inStruct.a_agent_first_name) gt 0 OR
len(arguments.inStruct.a_agent_middle_initial) gt 0 OR
len(arguments.inStruct.a_agent_last_name) gt 0 OR
len(arguments.inStruct.a_agent_firm_ein) gt 0 OR
len(arguments.inStruct.a_agent_firm_name) gt 0 OR
len(arguments.inStruct.a_agent_phone) gt 0 OR
len(arguments.inStruct.a_agent_phone_ext) gt 0 OR
len(arguments.inStruct.a_agent_address_1) gt 0 OR
len(arguments.inStruct.a_agent_address_2) gt 0 OR
len(arguments.inStruct.a_agent_city) gt 0 OR
len(arguments.inStruct.a_agent_state_id) gt 0 OR
len(arguments.inStruct.a_agent_province) gt 0 OR
len(arguments.inStruct.a_agent_country_id) gt 0 OR
len(arguments.inStruct.a_agent_postal_code) gt 0 OR
len(arguments.inStruct.a_agent_email) gt 0)
{
dbResult = request.oEmployer.Ins_Agent_Tbl(arguments.inStruct);
if (dbResult eq "0,")
request.inStruct.l_agent_id = listGetAt(dbResult,2);
else
request.inStruct.l_agent_id = "";
}
//cf_dump(dbResult);
cf_abort;
else
request.inStruct.l_agent_id = "";
Author: Matt Quackenbush
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349839
The error code mentions Line 63 as the start of an if () statement, and
Line 52 as the start of the <cfscript> tag. We'll need probably the entire
if () block at the least, as it would seem the issue lies in there.
Hard to speculate based solely upon the error message, as CF is notorious
for providing rather cryptic error messages which often send one off
chasing ghosts.
----- Excess quoted text cut - see Original Post for more -----
Author: daniel kessler
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349838
>First off, this is a nearly 4 year old thread. It may or may not apply to
>what you're working on now.
>
>What CFML engine and version are you using?
>
>What is the relevant code?
I didn't think reposting was a good idea, since there was a thread with a
relevant history.
I'm using CF7.
I posted the relevant code: part of the component, the cfabort/dump code, and my
call. Is there more code that you would like?
Author: Matt Quackenbush
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349837
First off, this is a nearly 4 year old thread. It may or may not apply to
what you're working on now.
What CFML engine and version are you using?
What is the relevant code?
----- Excess quoted text cut - see Original Post for more -----
Author: daniel kessler
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349836
To clarify, I receive an error when these function calls are used and no error
when they're commented out.
-----------
Invalid CFML construct found on line 78 at column 33.
ColdFusion was looking at the following text:
else
The CFML compiler was processing:
a script statement beginning with "{" on line 63, column 39.
a script statement beginning with "if" on line 63, column 17.
a cfscript tag beginning on line 52, column 18.
a cfscript tag beginning on line 52, column 18.
The error occurred in C:\localServer\beatch\cfc\emp.cfc: line 78
76 : //cf_dump(dbResult);
77 : cf_abort;
78 : else
79 : request.inStruct.beatch_id = "";
80 :
Author: daniel kessler
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#349835
I added this to my component, but I'm getting an error while calling it from
within the component.
<cfcomponent hint="Replaces The Package PK_employer">
<cffunction name="cf_abort" output="false" returntype="void">
<cfabort />
</cffunction>
<cffunction name="cf_dump" output="false" returntype="void">
<cfargument name="objToDump" type="any" required="false" default="" />
<cfdump var="#arguments.objToDump#" />
</cffunction>
Then further down, I call the cf_dump, like
cf_dump(dbResult);
How do I implement this correctly?
Thank you for your assistance.
Author: Richard White
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#305747
thanks guys, very neat solution :)
Author: Dominic Watson
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#305745
> when debugging with coldfusion tags i use the cfoutput and cfdump tags alot
but how can i use these tags and the cfabort tag within cfscript, or how can i
get the > same effect as these tags? A common practice is to create a udf that
wraps the functionality of a cf tag, so:
<cffunction name="dump">
<cfargument name="var" type="any" required="true">
<cfargument name="expand" type="boolean" required="false"
default="true">
<cfargument name="label" type="string" required="false" default="">
<cfdump var="#arguments.var#" expand="#arguments.expand#"
label="#arguments.label#">
</cffunction>
<cfscript>
aArray = ArrayNew(1);
aArray[3] = 'fooey';
dump(aArray);
</cfscript>
Dominic
--
Blog it up: http://fusion.dominicwatson.co.uk
Author: Charlie Griefer
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#305743
<cffunction name="cf_abort" output="false" returntype="void">
<cfabort />
</cffunction>
<cffunction name="cf_dump" output="false" returntype="void">
<cfargument name="objToDump" type="any" required="false" default="" />
<cfdump var="#arguments.objToDump#" />
</cffunction>
<cfscript>
var myArray = newArray(1);
myArray[1] = "Larry";
myArray[2] = "Moe";
myArray[3] = "Curly";
cf_dump(myArray);
cf_abort;
</cfscript>
----- Excess quoted text cut - see Original Post for more -----
Author: Aaron Rouse
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#305742
Depending on where you are in the script it could be as simple as ending the
cfscript then putting in a cfdump and then beginning the cfscript again. I
often debug small problems within cfscripts by using writeoutput functions
for the values on if statements and other things of that nature. I suppose
you could create a function that simple dumps out whatever you fed it so
that you could put inline dumps.
----- Excess quoted text cut - see Original Post for more -----
Author: Richard White
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56463#305740
hi,
when debugging with coldfusion tags i use the cfoutput and cfdump tags alot but
how can i use these tags and the cfabort tag within cfscript, or how can i get
the same effect as these tags?
thanks
richard
|
May 24, 2012
|
Latest Fusion Authority Articles
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||