1. An apparatus for keeping a urinary container in place while in use, said apparatus comprising:
(a) a first generally rectangular stiff member having each of a first predetermined length, a first predetermined width, a first predetermined thickness and formed from a first predetermined material for positioning between a mattress and box springs of a bed;
(b) a second generally rectangular stiff member having each of a second predetermined length, a second predetermined width, a second predetermined thickness and formed from a second predetermined material for positioning between a mattress and box springs of a bed;
(c) a hinge means engageable adjacent a first predetermined edge of said first generally rectangular stiff member and a confronting edge of said second generally rectangular stiff member;
(d) a urinary collection means for retaining urine therein while in use;
(e) a means engageable with one of said first and said second generally rectangular stiff members and with said urinary collection means for holding said urinary collection means during use;
(f) a container member disposed over said urinary collection means for enclosing from view a primary portion of said urinary collection means;
(g) a pair of attachment means engageable with said one of said first and said second generally rectangular stiff members and with said container member for holding said container member in position during use; and
(h) a fluid communication means engageable with said urinary collection means and with such user for fluid communication of such urine from such user to said urinary collection means.
2. The apparatus, according to claim 1, wherein said generally stiff member is formed of two substantially identical generally rectangular stiff members connected to each other by means of a hinge.
3. The apparatus, according to claim 2, wherein said hinge is a continuous hinge extending across a width of each of said two substantially identical generally rectangular stiff members.
4. The apparatus, according to claim 3, wherein said two substantially identical generally rectangular stiff members include a pair of apertures, each aperture of said pair of apertures disposed closely adjacent radially opposed ends of each of said two substantially identical generally rectangular stiff members as carrying handles when said two substantially identical generally rectangular stiff members are in a folded position.
5. The apparatus, according to claim 2, wherein said two substantially identical generally rectangular stiff members are formed of plastic.
6. The apparatus, according to claim 5, wherein said plastic is polyurethane.
7. The apparatus, according to claim 1, wherein said urinary collection means is selected from one of a urinary bag and a urinary bottle.
8. The apparatus, according to claim 7, wherein said urinary collection means is a urinary bag.
9. The apparatus, according to claim 1, wherein said fluid communication means is a hose member.
10. The apparatus, according to claim 9, wherein said hose member is made of plastic.
11. The apparatus, according to claim 10, wherein said plastic is polyvinyl chloride.
12. The apparatus, according to claim 1, wherein said container member for engagement with said one of said first and said second generally rectangular stiff members for enclosing said urinary collection means therein.
13. The apparatus, according to claim 1, wherein said container member further acts as a storage container for one of storing and transporting said two substantially identical generally rectangular stiff members, said urinary collection means and said fluid communication means when said apparatus is not in use.
14. The apparatus, according to claim 13, wherein said apparatus is completely portable.
15. The apparatus, according to claim 1, wherein said container member is made of vinyl.
16. The apparatus, according to claim 1, wherein said container member includes a closure means for securing an open end of said container member.
17. The apparatus, according to claim 16, wherein said closure means includes hook and loop members disposed on inside surfaces of said open end of said container member.
18. The apparatus, according to claim 1, wherein said pair of attachment means engageable with said one of said first and said second generally rectangular stiff members and with said container member for holding said container member in position during use includes a pair of hooks, each hook of said pair of hooks is disposed on a bottom surface closely adjacent a corner of said one of said first and said second generally rectangular stiff members for engagement with said container member.
19. The apparatus, according to claim 18, wherein said container member further includes a pair of eyelets disposed on a top back portion of said container member for engagement with said hooks disposed on one of said two substantially identical generally rectangular stiff members when said apparatus is in use.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. An apparatus comprising:
logic instructions operable to:
generate a debugger script to output first data corresponding to a symbol name for at least one breakpoint in a software program compiled as optimized code;
generate a debugger script to output second data corresponding to the symbol name for the at least one breakpoint in the software program compiled as unoptimized code;
compare the first data to the second data; and
indicate whether there is a difference between the first data and the second data.
2. The apparatus of claim 1, further comprising:
logic instructions operable to:
output the first data from the optimized code to a first file;
output the second data from the unoptimized code to a second file.
3. The apparatus of claim 1, further comprising:
logic instructions operable to:
read a debug line table generated by a compiler; and
identify statement boundaries in the debug line table.
4. The apparatus of claim 1, further comprising:
logic instructions operable to:
output the first data and the second data for all of the symbol names in the software program.
5. The apparatus of claim 1, further comprising:
logic instructions operable to:
combine the at least one breakpoint for the optimized code with the at least one breakpoint for the unoptimized code.
6. The apparatus of claim 1, further comprising:
logic instructions operable to:
record expressions and valid expression ranges for the symbol name in the optimized code and the unoptimized code.
7. The apparatus of claim 1, further comprising:
logic instructions operable to:
identify an address range for a line of code in the software program;
group overlapping address ranges in a separate block; and
use the first address in the block as a boundary for the line of code.
8. A method comprising:
determining breakpoints for a software program compiled as optimized code;
determining breakpoints for the software program compiled as unoptimized code;
outputting first data corresponding to a symbol name for at least one breakpoint in the optimized code;
outputting second data corresponding to the symbol name for the at least one breakpoint in the unoptimized code;
comparing the first data to the second data; and
indicating whether there is a difference between the first data and the second data.
9. The method of claim 8, further comprising:
outputting the first data from the optimized code to a first file;
outputting the second data from the unoptimized code to a second file.
10. The method of claim 8, further comprising:
reading a symbol table generated by a compiler; and
identifying statement boundaries in the symbol table.
11. The method of claim 8, further comprising:
outputting the first data and the second data for all of the symbol names in the software program.
12. The method of claim 8, further comprising:
combining the at least one breakpoint for the optimized code with the at least one breakpoint for the unoptimized code.
13. The method of claim 8, further comprising:
recording expressions and valid expression ranges for the symbol name in the optimized code and the unoptimized code.
14. The method of claim 8, further comprising:
identifying an address range for a line of code in the software program;
grouping overlapping address ranges in a separate block; and
using the first address in the block as a boundary for the line of code.
15. A system comprising:
logic instructions operable to:
invoke a compiler with a symbolic debug option enabled, and with and without an optimization option enabled, wherein the compiler generates optimized object code and unoptimized object code;
generate a debugger script that includes breakpoints for the optimized object code and the unoptimized object code, and a command to output the value of at least one symbol name at each breakpoint;
execute the debugger script for the optimized code and output the value of the at least one symbol name to a first file;
execute the debugger script for the unoptimized code and output the value of the at least one symbol name to a second file;
compare the values for the at least one symbol in the first file and the second file; and
indicate whether there is a difference between the values for the at least one symbol name in the first and second files.
16. The system of claim 15, wherein the debugger script further includes a command to resume the debugger after each breakpoint.
17. The system of claim 15, further comprising:
a processor; and
a storage unit for storing the source code, and the optimized and unoptimized object codes.
18. The system of claim 15, further comprising:
logic instructions operable to:
output the values for all of the symbol names in the optimized and unoptimized object codes.
19. The system of claim 15, further comprising:
logic instructions operable to:
use the breakpoints for the optimized code as the breakpoints for the unoptimized code.
20. The system of claim 15, further comprising:
logic instructions operable to:
identify an address range for a line of code in the software program;
group overlapping address ranges in a separate block; and
use the first address in the block as a boundary for the line of code.