Debug Reading and Interpretation

The errors that occur on the computer are called bugs, the debugger to find the errors among the codes written by working in the background of the compiler program, and the process of solving these errors is called debug. The term bug originated in the 1940s. It was named after an insect causing the circuits of a computing military computer to burn out. Thus, software coding and system errors began to be called 'bugs'.

Well then, how do we understand and interpret the bugs that come into the system. This bug is a syntax error, runtime error, calling the wrong function or using the wrong variables in the wrong place, etc. For example, it can be very difficult to fix the problems in your code. If the problem you're encountering is an error, it's pretty easy to fix since you already know the file and line number of the problem. Sometimes the problem is that the app is not doing what you expect it to do, and most of the time this is much more difficult to fix.

cftrace and cfdump

The cftrace tag can be placed anywhere in your code as many times as you want. The variable is used to monitor the functionality of the function.

Another way to help debug a problem is to use the cfdump tag. The cfdump tag outputs any variable, including variables that are not simple values.

Javascript debugging

It is not easy to debug these errors. However, all browsers have javascript debugger. Using the browser debugger, we can follow the code step by step by adding code breakpoints to each line. The debug window can be reached by using the F12 key in all modern browsers. The console error is dropped on the console. Below Console crashing is an example of an error screen.

Another error catching method is the error that falls in the cfcatch file (under the C folder directory). Below is the error screen of cfcatch. The reason for the error gives the line number in which file it is. It is important in interpreting the error, such as reaching the error. For example, in the error screen given below, the date parameter goes blank on the called page. In this case, when I want to send a value as empty, conditions and control need to be added.

Example Usage:


Model Debug Readings

is undefined

It means undefined field or data. It is mostly due to lack of definition.

Example: Element EXPENSE_ITEM_ID is undefined in CATEGORY

Interpretation: The field given in the CATEGORY query does not exist or exists and the value is empty

Solution:  To make sure that the field is selected with select in the specified query of the page where the error occurs, or if there is, where this field is used

Invalid column name

It means that there is no column in the database that the query requested.

Example: Invalıd column name DIRECT_EXPENSE_CODE

Interpretation: The DIRECT_EXPENSE_CODE column does not exist in the table used. It means there is a difference between database and code.

Solution: opening the field in the corresponding table or running the corresponding WRO.

Could not find

It means that the addressed file needed in the code snippet cannot be found.

Example: Could not find the included template ../v16/e_government/query/netbook_status.cfm.

Interpretation: The file specified in the code in the application used does not exist missing code.

Solution: Adding the netbook_status.cfm file under the ../v16/e_government/query/ directory.

CFML structure referenced

This error is usually encountered when fuseaction is false

Example: undefined in a CFML structure referenced as part of an expression.

Interpretation: Fuseaction is missing, no module.

Solution:

The module name and page name are connected with a dot to create the fuseaction: module_name.page_name If the fuseaction is sent incorrectly, you can try to edit the link code you clicked.

If you think your fuseaction value is correct, you can confirm whether it is available on your system and its accuracy from DevTools > Wo.

for CFSQLTYPE CF_SQL_INTEGER.?

This error usually occurs when mandatory form - url parameters are not sent or incorrect data type is sent. The cfqueryparam tag is used to assign the parameter value and type when creating the query. In the cfqueryparam tag, this error occurs if the value parameter is not the data type defined in the cfsqltype parameter. For example, 


In this case, you will encounter an incorrect data type error because the wrong data type was sent.

Example: for CFSQLTYPE CF_SQL_INTEGER

Interpretation: The file specified in the code in the application used does not exist missing code.

Solution: 

  1. Check if the url or the form has been sent missing - incorrect data!
  2. While assigning parameters in the query, make sure that the value parameter is sent in the desired type in the cfsqltype parameter, in the line that gives an error, in the cfqueryparam tag.
  3. Probably integer or float type data type is requested, while the value is sent as string type!

socket write error?

  • Your network may have a firewall or VPN blocking database access.
  • This error occurs when the database connection cannot be made.
  • Your CF datasource definitions on your application server may be incorrect or user information may have changed.
  • Your database server may be down or not responding to requests

Example: Your connection was terminated' or errorMessage contains 'Connection reset by peer: socket write error

Interpretation: Fuseaction is missing, no module.

Solution:  

  1. Disable any VPN that may block your access to the database.
  2. Check your firewall settings. Make sure your CF Datasource information is correct on your application server.
  3. Verify that your database server is up, test if it responds to requests.


An exception occurred when setting up mail server parameters.

Interpretation: It is an error that occurs in sending mail. Server-side control should be provided.

Solution: 

  1. newly introduced firewall restrictions and so on should be checked.
  2. Check if the IP of the cf mail server has changed recently (cf admin panel-server settings-mail>>Mail Server)
  3. Restarting the Coldfusion Server

Ambiguous name column 'CATEGORY_ID'

Interpretation:  It is a column name presented with the same name between at least two tables in the joined tables in your query. This column name is the CATEGORY_ID value above

In this case, we need to specify the column from which table to select.

In other words, you need to decide whether this column value will be drawn from the Categories table or the Products table.

Example Usage:

     SELECT P.CategoryID FROM Products P  INNER JOIN Categories C ON C.CategoryID = P.CategoryID; 

The multi-part identifier "P.PRODUCT_ID" could not be bound.

The error here is that p is not defined.

Example Usage:

Incorrect:

SELECT * FROM Company c INNER JOIN Products AS  ON c.CompanyID = P.PRODUCT_ID

Correct:

SELECT * FROM Company c INNER JOIN Products AS p ON c.CompanyID = P.PRODUCT_ID


Invalid object name/INFORMATION_SCHEMA.tables

Interpretation: It means that you did not select the "DATABASE" to query.

  1. When running this manually in the Management Tool, the name of the DB you are querying should be written in the left corner of which master is selected.
  2. The schema,db name should be specified in the query you wrote in the code. It should be written as dbadi.tabloadi.

Example Usage:

Workcube comes with 1 DB and 4 schemas.

  1. Main Schema -DSN
  2. Product Schema - DSN1
  3. Company Schema - DSN3
  4. Period Schema - DSN2



String or binary data would be truncated. The statement has been terminated

Interpretation:  This error means that the limit of the field you have specified in the database has been exceeded. It means that one of the fields in the query has a low column size.

increase the number of characters of the relevant column in the database

Let's assume that the type of your namename field is defined as nvarchar(50) and the character limit is 50 characters. If more than 50 characters are entered, it gives an error and can be increased to nvarchar(100) in the specified column.

>> Click to read the Adobe document on Classification of CFML Errors.

Feedback

Did you find this content helpful?